* renamed
authorjcheney@inf.ed.ac.uk
Sun, 03 Mar 2013 14:49:48 +0000
changeset 5818 466a02f506bd
parent 5817 ec9c9ae2e9d5
child 5819 d99c667ade9d
* renamed
semantics/releases/WD-prov-sem-20130312/Overview.html
semantics/releases/WD-prov-sem-20130312/prov-sem-math-test.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/semantics/releases/WD-prov-sem-20130312/Overview.html	Sun Mar 03 14:49:48 2013 +0000
@@ -0,0 +1,3342 @@
+<!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-WD"><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-working-draft-12-march-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Working Draft 12 March 2013</h2>
+  <dl>
+    
+      <dt>This version:</dt>
+      <dd><a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/">http://www.w3.org/TR/2013/WD-prov-sem-20130312/</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>Previous version:</dt>
+      <dd><a href=""></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 a Working 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 a Working 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>.
+          
+          The group does not expect this document to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
+          
+            
+              <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-and-intervals" class="tocxref"><span class="secno">2.2 </span> Times and Intervals </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></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="#interactions-1" class="tocxref"><span class="secno">3.2.4 </span> Interactions </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="#communications" class="tocxref"><span class="secno">3.2.4.3 </span>Communications</a></li><li class="tocline"><a href="#delegations" class="tocxref"><span class="secno">3.2.4.4 </span>Delegations</a></li><li class="tocline"><a href="#derivations-1" class="tocxref"><span class="secno">3.2.4.5 </span> Derivations </a></li></ul></li></ul></li><li class="tocline"><a href="#relations" class="tocxref"><span class="secno">3.3 </span> Relations </a><ul class="toc"><li class="tocline"><a href="#derivation-paths-and-derivedfrom" class="tocxref"><span class="secno">3.3.1 </span> Derivation paths and DerivedFrom </a></li></ul></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-formulas" class="tocxref"><span class="secno">4.4.5 </span> Start Formulas </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="#auxiliary-formulas" class="tocxref"><span class="secno">4.5 </span>Auxiliary formulas</a><ul class="toc"><li class="tocline"><a href="#equals" class="tocxref"><span class="secno">4.5.1 </span>Equals</a></li><li class="tocline"><a href="#precedes-and-strictly-precedes" class="tocxref"><span class="secno">4.5.2 </span>Precedes and Strictly Precedes</a></li><li class="tocline"><a href="#notnull" class="tocxref"><span class="secno">4.5.3 </span>notNull</a><ul class="toc"><li class="tocline"><a href="#typeof" class="tocxref"><span class="secno">4.5.3.1 </span>typeOf</a></li></ul></li></ul></li><li class="tocline"><a href="#theory" class="tocxref"><span class="secno">4.6 </span> Inferences and Constraints </a><ul class="toc"><li class="tocline"><a href="#inferences" class="tocxref"><span class="secno">4.6.1 </span>Inferences</a></li><li class="tocline"><a href="#constraints" class="tocxref"><span class="secno">4.6.2 </span>Constraints</a><ul class="toc"><li class="tocline"><a href="#uniqueness-constraints" class="tocxref"><span class="secno">4.6.2.1 </span>Uniqueness constraints</a></li><li class="tocline"><a href="#ordering-constraints" class="tocxref"><span class="secno">4.6.2.2 </span>Ordering constraints</a></li><li class="tocline"><a href="#typing-constraints" class="tocxref"><span class="secno">4.6.2.3 </span>Typing constraints</a></li><li class="tocline"><a href="#impossibility-constraints" class="tocxref"><span class="secno">4.6.2.4 </span>Impossibility constraints</a></li></ul></li></ul></li><li class="tocline"><a href="#soundness" class="tocxref"><span class="secno">4.7 </span>Soundness</a><ul class="toc"><li class="tocline"><a href="#syntactic" class="tocxref"><span class="secno">4.7.1 </span>Syntactic Models and Completeness</a></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">4.8 </span>Acknowledgements</a></li></ul></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">A. </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">A.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, and
+  the semantics does not (as yet) cover 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 do not discuss PROV documents.
+  The semantics of other features 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">Section 6</a> summarizes the main result: soundness of
+the theory introduced in section 5 with respect to the naive
+  semantics.  Completeness does not hold for the naive semantics.  The
+  theory is, however, sound and complete with respect to a larger
+  class of <em>syntactic models</em>, which implies that a PROV
+  instance is valid if and only if it has a syntactic 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 resaerchers 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: they denote objects, but
+just because we have 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> doesn't
+tell us that they denote different objects, since we could discover
+that they are actually the same later.  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-and-intervals">
+<h3><span class="secno">2.2 </span> Times and Intervals </h3>
+
+<p>We assume a linearly 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.  For convenience we assume the order is total or linear order, corresponding to a linear timeline; however, PROV does not assume that time is linear and events could be partially ordered and not necessarily reconciled to a single global clock.  
+</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-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>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-8">Intervals</script> of closed intervals of the form <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 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-9">\{t \mid t_1 \leq t \leq t_2\}</script>.
+</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-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>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-10">Attributes</script> of attribute labels and a set <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>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-11">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-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"><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-12">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-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>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-13">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-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>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-14">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-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"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-15">-</script> can only appear in the specified arguments
+  <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>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-16">pl</script> in <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>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-17">wasAssociatedWith</script> and <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>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-18">a,g,u</script> in <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>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-19">wasDerivedFrom</script>, as shown in the grammar below.
+</p>
+<span class="MathJax_Preview"></span><div 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" 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><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>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>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>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-20">
+\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 = y\\
+          & | & x \prec y\\
+          & | & x \preceq 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-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>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-21">Collection</script> and
+  <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>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-22">EmptyCollection</script>) and the membership relation <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>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-23">hadMember</script>; however,
+  we do not model dictionaries or the insertion or deletion relations
+  in the 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-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>p</mi><mi>r</mi><mi>o</mi><mi>v</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-24">prov</script> prefixes from the <span class="MathJax_Preview"></span><span 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"><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-25">Collection</script> and
+  <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>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-26">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-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>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-27">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 incoporate <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>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-28">mentionOf</script> or
+  other cross-instance assertions, and 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-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>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-29">memberOf</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-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" 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 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-30">
+\begin{array}{rcl}
+  \phi &{::=}& atomic\_formula\\
+& | & True\\
+& | & False\\
+&|& \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>
+
+<section id="things-1">
+
+<h3><span class="secno">3.1 </span> Things </h3> 
+
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">TODO: Add semantic structure for collections and membership.</div></div>
+<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-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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-31">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-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>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-32">Things</script> of things</li>
+  <li> a function <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>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-33">lifetime : Things \to Intervals</script> from things to time intervals</li>
+  <li>a function <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>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-34">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-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"><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-35">value</script> is the set <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>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-36">P(Values)</script>, indicating that <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>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-37">value</script>
+is essentially a multi-valued that returns a set of values (possibly empty).    When <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>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-38">value(x,a,t) =
+\emptyset</script>, we say that attribute <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-39">a</script> is undefined for <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-40">x</script> at time <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-41">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-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>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-42">Thing</script> is, only how it may be described in terms of its time interval
+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-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 mathvariant="italic">π</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-43">\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-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>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-44">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-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>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-45">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-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>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-46">Things = \{T_0,T_1\}</script> and the attributes are
+specified as <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>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-47">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-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><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-48">t\in
+Times</script> and <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>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-49">a \in Attributes</script>, this does not imply that <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"><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-50">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-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><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-51">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-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> 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-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></math></span></span></span><script type="math/tex" id="MathJax-Element-53">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-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>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-54">Entities</script>, are associated with
+  <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><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-55">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-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>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-56">Thing</script> during their common lifetime.</p>  
+
+<p>In this section, we detail the different subsets <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"><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-57">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-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>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-58">Objects</script> 
+</li><li> a function <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>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-59">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-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>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-60">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-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>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-61">lifetime(e)</script> is the time interval during which object
+<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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-62">e</script> exists.  The set <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>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-63">value(e,a)</script> is the set of values of attribute <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-64">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-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>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-65">value</script> is sets of values,
+making <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>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-66">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-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>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-67">Objects</script> and <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>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-68">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-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>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-69">Objects</script> and <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>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-70">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-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>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-71">Things</script> vs fixed <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>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-72">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 describes a time-slice of a thing, during which some of the thing's attributes are fixed. 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-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>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-73">Entities \subseteq Objects</script> of entities, disjoint from <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>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-74">Activities</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>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-75">Events</script> below.
+</li><li> a function <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>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-76">thingOf : Entities \to Things</script> that associates each <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>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-77">Entity</script> with a <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></math></span></span></span><script type="math/tex" id="MathJax-Element-78">Thing</script>, such that for each <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>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>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-79">t \in lifetime(obj)</script>, and for each attribute <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-80">a</script> we have <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>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><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>o</mi><mi>b</mi><mi>j</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-81">value(obj,a) \subseteq value(thingOf(obj),a,t)</script>.
+</li><li> <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>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><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-82">lifetime(e) \subseteq lifetime(t)</script>.
+</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-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>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-83">value(x,a,t) = \emptyset</script> means that the
+  attribute <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-84">a</script> has no value at time <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-85">t</script>, whereas for an entity,
+  <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>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-86">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-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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-87">x</script> does not have a
+  fixed value for <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> during the lifetime of <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-89">x</script>.  This does not imply
+  that <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>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-90">value(thingOf(e),a,t) = \emptyset</script> when <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>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-91">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-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>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-92">value(thingOf(e),a,t)</script> is <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"><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-93">\{1\}</script> at
+  some time in <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>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-94">lifetime(e)</script> and <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>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-95">value(thingOf(e),a,t') = \{2\}</script> at
+  some other time <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"><msup><mi>t</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-96">t'</script>.  Then <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>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-97">value(e,a)</script> must be <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 mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-98">\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-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"><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-99">\{1\}</script> and <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"><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-100">\{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-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"><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-101">Entities</script> relate to <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>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-102">Things</script>, we
+  require  <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>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-103">value(e,a) \subseteq
+  value(thingOf(e),a,t)</script> whenever <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"><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-104">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-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>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-105">Thing</script> indirectly by describing an <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>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-106">Entity</script>, then
+  any attributes we ascribe to the <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"><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-107">Entity</script> must also describe the
+  associated <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"><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-108">Thing</script> during their common lifetime.  Attributes of both
+  <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> and <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> 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, for example by extending the PROV-O
+  ontology.
+  </p>
+  <p>Only <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>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-111">Entities</script> are associated with <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><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-112">Things</script>, and this is
+  necessary to provide an interpretation for the <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>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-113">alternateOf</script> and
+  <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>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-114">specializationOf</script> relations.  It might also make sense
+  to associate <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>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-115">Agents</script>, <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>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-116">Activities</script>, and <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>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-117">Interactions</script> with
+  <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>, 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-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>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-119">Plans \subseteq Entities</script> of plans.</p>
+  </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="5" data-title="Component 5 (activities)"><div class="ruleTitle"><a class="internalDFN" href="#activities">Component 5 (activities)</a></div>
+  <ol><li>A set <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>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-120">Activities \subseteq Objects</script> of activities.</li>
+  <li> Activities are disjoint from Entities: <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>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-121">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="6" data-title="Component 6 (agents)"><div class="ruleTitle"><a class="internalDFN" href="#agents">Component 6 (agents)</a></div>
+  <p>A set <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>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-122">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="interactions-1">
+<h4><span class="secno">3.2.4 </span> Interactions </h4>
+
+<p>We consider a set <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>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><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-123">Interactions \subseteq Objects</script> which are split into
+  <em>Events</em> connecting entities and activities,
+  <em>Associations</em> between agents and activities,
+  <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 interactions are discussed further below.  Interactions are disjoint from entities, activities and agents.
+</p>
+<div class="component" id="interactions" data-count="7" data-title="Component 7 (interactions)"><div class="ruleTitle"><a class="internalDFN" href="#interactions">Component 7 (interactions)</a></div>
+  <ol><li> A set <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>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><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-124">Interactions = Events \cup Associations \cup
+  Communications \cup Delegations \cup Derivations \subseteq Objects</script>
+</li>
+<li> A function <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>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">:</mo><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><mo stretchy="false">→</mo><mo fence="false" 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><mi>u</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</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><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><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><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>q</mi><mi>u</mi><mi>o</mi><mi>t</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">,</mo><mi>p</mi><mi>r</mi><mi>i</mi><mi>m</mi><mi>a</mi><mi>r</mi><mi>y</mi><mi>S</mi><mi>o</mi><mi>u</mi><mi>r</mi><mi>c</mi><mi>e</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><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><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-125">type: Interactions \to
+  \{start,end,usage,generation,invalidation,derivation,revision,quotation,primarySource,attribution,delegation\}</script>.
+</li>
+<li> The sets <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>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-126">Events</script>, <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>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-127">Associations</script>, <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>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-128">Communications</script>, <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>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-129">Delegations</script>
+  and <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>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-130">Derivations</script> are all disjoint.
+</li><li> Interactions are disjoint from entities, agents and
+activities:  <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>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><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-131">Interactions \cap (Entities \cup Activities \cup Agents) = \emptyset</script>
+</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 interaction 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="8" data-title="Component 8 (events)"><div class="ruleTitle"><a class="internalDFN" href="#events">Component 8 (events)</a></div>
+<ol><li> A set <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>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>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-132">Events \subseteq Interactions</script> of events, such that
+  <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>t</mi><mi>y</mi><mi>p</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>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>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><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</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><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-133">type(evt) \in \{start,end,generation,usage,invalidation\}</script> if and
+  only if <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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-134">evt \in Events</script>.
+</li><li> A function <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>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-135">time : Events \to Times</script> giving the time of each event; i.e. <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>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-136">lifetime(evt) = \{time(evt)\}</script>.
+</li><li> The derived ordering on events given by <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><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">≤</mo><mi>e</mi><mi>v</mi><msub><mi>t</mi><mn>2</mn></msub><mspace width="thickmathspace"></mspace><mo stretchy="false">⟺</mo><mspace width="thickmathspace"></mspace><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><msub><mi>t</mi><mn>1</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><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-137">evt_1 \leq evt_2 \iff time(evt_1) \leq time(evt_2)</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 interaction relating an agent to an activity.  To model associations, we introduce:
+</p>
+<div class="component" id="associations" data-count="9" data-title="Component 9 (associations)"><div class="ruleTitle"><a class="internalDFN" href="#associations">Component 9 (associations)</a></div>
+  <p>A set <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><mo stretchy="false">⊆</mo><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-138">Associations \subseteq Interactions</script>, such that
+  <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>t</mi><mi>y</mi><mi>p</mi><mi>e</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><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></math></span></span></span><script type="math/tex" id="MathJax-Element-139">type(assoc) = association</script> if and only if <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>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</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></math></span></span></span><script type="math/tex" id="MathJax-Element-140">assoc \in Associations</script>.
+</p>
+  </div>
+  
+<p>Associations are used below in the <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>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-141">ActsFor</script> and <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>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-142">AssociatedWith</script> relations.
+
+
+</p></section>
+  <section id="communications">
+  <h5><span class="secno">3.2.4.3 </span>Communications</h5>
+  <div class="note"><div class="note-title"><span>Note</span></div><div class="">TODO</div></div>
+  
+</section>
+  <section id="delegations">
+  <h5><span class="secno">3.2.4.4 </span>Delegations</h5>
+  <div class="note"><div class="note-title"><span>Note</span></div><div class="">TODO</div></div>
+</section>
+  <section id="derivations-1">
+  
+  <h5><span class="secno">3.2.4.5 </span> Derivations </h5>
+
+<p>A <em>Derivation</em> is an interaction chaining one or more generation and use steps.  
+</p>
+<div class="component" id="derivations" data-count="10" data-title="Component 10 (derivations)"><div class="ruleTitle"><a class="internalDFN" href="#derivations">Component 10 (derivations)</a></div>
+<p>  A set <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>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>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-143">Derivations \subseteq Interactions</script>, such that
+  <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>t</mi><mi>y</mi><mi>p</mi><mi>e</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><mo fence="false" 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><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>p</mi><mi>r</mi><mi>i</mi><mi>m</mi><mi>a</mi><mi>r</mi><mi>y</mi><mi>S</mi><mi>o</mi><mi>u</mi><mi>r</mi><mi>c</mi><mi>e</mi><mo stretchy="false">,</mo><mi>q</mi><mi>u</mi><mi>o</mi><mi>t</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-144">type(deriv) \in \{derivation, revision, primarySource,quotation\}</script>
+  if and only if <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>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</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-145">deriv \in Derivations</script>.
+</p></div>
+<p>See below for the associated derivation path and DerivedFrom relation.
+</p>
+
+<div class="remark">
+  <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>
+</div>
+  
+</section>
+</section>
+</section>
+<section id="relations">
+
+<h3><span class="secno">3.3 </span> Relations </h3>
+
+<h3 id="simple-relations"> Simple relations </h3>
+<p>The entities, interactions, and activities in a structure are related in the following ways:
+</p>
+<ol><li> A relation <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>U</mi><mi>s</mi><mi>e</mi><mi>d</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><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-146">Used \subseteq Events \times Entities</script> saying when an event used an entity.  An event can use at most one entity, and if <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>e</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-147">(evt,e)\in Used</script> then <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"><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>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-148">time(evt) \in lifetime(e)</script> and <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>t</mi><mi>y</mi><mi>p</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>u</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-149">type(evt) = usage</script> must hold.
+</li><li> A relation <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>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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-150">Generated \subseteq Events \times Entities</script> saying when an event generated an entity.  An event can generate at most one entity, and if <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</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></math></span></span></span><script type="math/tex" id="MathJax-Element-151">(evt,e)\in Generated</script> then <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>m</mi><mi>i</mi><mi>n</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><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-152">min(lifetime(e)) = time(evt)</script> and <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>t</mi><mi>y</mi><mi>p</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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-153">type(evt) = generation</script> must hold.
+</li><li> A relation <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>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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-154">Invalidated \subseteq Events \times Entities</script> saying when an event invalidated an entity.  An event can invalidate at most one entity, and if <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</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></math></span></span></span><script type="math/tex" id="MathJax-Element-155">(evt,e)\in Invalidated</script> then <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>m</mi><mi>a</mi><mi>x</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><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-156">max(lifetime(e)) = time(evt)</script> and <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>t</mi><mi>y</mi><mi>p</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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-157">type(evt) = invalidation</script> must hold.
+</li><li> A relation <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>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><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>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>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-158">EventActivity \subseteq Events \times Activities</script> associating activities with events, such that <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"><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</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>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-159">(act,evt) \in EventActivity</script> implies <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>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>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>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-160">time(evt) \in lifetime(act)</script>.
+</li><li> A relation <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>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-161">AssociatedWith \subseteq Associations \times Agents \times Activities \times Plans_\bot</script> indicating when an agent is associated with an activity, and giving the identity of the association relationship, and an optional plan. 
+</li><li> A relation <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>A</mi><mi>c</mi><mi>t</mi><mi>s</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-162">ActsFor \subseteq Delegations \times Agents \times Agents \times Activities</script> indicating when one agent acts on behalf of another with respect to a given activity.  
+</li></ol>
+
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">
+  TODO: Communication, start, end relations
+  </div></div>
+
+  <div class="note"><div class="note-title"><span>Note</span></div><div class="">
+  TODO: Specialization relation
+  </div></div>
+
+  <div class="note"><div class="note-title"><span>Note</span></div><div class="">
+    TODO: Additional axioms concerning the relations; for example:
+    clarify that every Event is associated with an Activity and
+    Entity; ensure that for attribution the agent's lifetime  must
+  start before that of the entity.
+  </div></div>
+
+  
+<section id="derivation-paths-and-derivedfrom">
+<h4><span class="secno">3.3.1 </span> Derivation paths and DerivedFrom </h4>
+
+<p>Recall that above we introduced a subset of interactions called <em>Derivations</em>.  These identify <em>paths</em> of the form </p>
+
+<span class="MathJax_Preview"></span><div 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" 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-163">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-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>e</mi><mi>n</mi><msub><mi>t</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-164">ent_i</script> are entities, <span class="MathJax_Preview"></span><span 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"><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-165">act_i</script> are activities, <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"><msub><mi>g</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-166">g_i</script> are generations, and <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"><msub><mi>u</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-167">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-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" 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>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>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>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><msup><mo stretchy="false">)</mo><mo stretchy="false">+</mo></msup></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-168">DerivationPaths = Entities \cdot (Events \cdot Activities \cdot
+Events \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-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"><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-169">ent\cdot g \cdot act</script> we have <span class="MathJax_Preview"></span><span 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"><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</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></math></span></span></span><script type="math/tex" id="MathJax-Element-170">(g,ent) \in Generated</script>  and <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"><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</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>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-171">(g,act) \in EventActivity</script>, and
+</li>
+<li>for each substring <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>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-172">act \cdot u \cdot ent</script> we have <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"><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>e</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-173">(u,ent) \in Used</script> and <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"><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</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>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-174">(u,act) \in EventActivity</script>.
+</li>
+</ul>
+<p>Each derivation <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><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-175">d \in Derivations</script> has an associated derivation path.  We link each derivation to an associated derivation path using the
+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>.  </p>
+
+<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, 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>
+  </div>
+
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">
+  We can make the characterization of DerivationPaths more
+  precise/concise by introducing sets of Usage and Generation events.
+</div></div>
+
+<div class="remark">The reason why we need paths and not just individual derivation steps is 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.</div>
+</section>
+</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-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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-183">W</script> is a structure containing all of the above
+described data.  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-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"><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-184">W_1.Objects</script>, <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"><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-185">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>.
+ Thus, we consider interpretations as follows:
+An interpretation is a function  <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 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-186">\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. 
+</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-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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-187">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-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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-188">I</script> be an interpretation of identifiers as objects in <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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-189">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-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 mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-190">\phi</script>, a structure <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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-191">W</script> and an interpretation
+ <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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-192">I</script>.
+We define notation <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>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-193">W,\rho \models \phi</script> which means that <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 mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-194">\phi</script> is
+ satisfied in <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>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-195">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="11" data-title="Semantics 11 (first-order-logic-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#first-order-logic-semantics">Semantics 11 (first-order-logic-semantics)</a></div>
+<ol>
+  <li><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>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-196">W,\rho \models True</script> always holds.</li>
+  <li><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>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-197">W,\rho \models False</script> never holds.</li>
+  <li><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>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-198">W,\rho \models \neg \phi</script> holds if and only if <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>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-199">W,\rho \models
+  \phi</script> does not hold.</li>
+  <li><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>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-200">W,\rho \models \phi \wedge \psi</script> holds if and only if <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>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-201">W,\rho \models
+  \phi</script> and <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>W</mi><mo stretchy="false">,</mo><mi>i</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-202">W,i\models \psi</script>.</li>
+  <li><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>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-203">W,\rho \models \phi \vee \psi</script> holds if either <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>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-204">W,\rho \models \phi</script>
+  or <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>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-205">W,\rho \models \psi</script> holds.</li>
+  <li><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>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-206">W,\rho \models \phi \Rightarrow \psi</script> holds if <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>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-207">W,\rho \models \phi</script>
+  implies <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>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-208">W,\rho \models \psi</script>.</li>
+  <li><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>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-209">W,\rho \models \exists x. \phi</script> holds if there exists some <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>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-210">obj \in
+  Objects</script> such that <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>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-211">W,\rho[x:=obj] \models \phi</script>.</li>
+  <li><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>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-212">W,\rho \models \forall x. \phi</script> holds if there for every <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>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-213">obj \in
+  Objects</script> we have <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>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-214">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-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>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-215">Objects</script>; that is, quantifiers range over entities,
+  activities, agents, or interactions (which are in turn further
+  subdivided into types of interactions).  <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>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-216">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-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></math></span></span></span><script type="math/tex" id="MathJax-Element-217">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-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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-218">I</script> as a set of atomic formulas <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"><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-219">\{\phi_1,\ldots,\phi_n\}</script>, or equivalently a
+    single formula <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 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-220">\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-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"><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-221">x_1,\ldots,x_k</script> are the existential
+    variables of <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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-222">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-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>o</mi><mi>b</mi><mi>j</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-223">obj</script> matches attributes <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"><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-224">[attr_1=val_1,...]</script> in structure <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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-225">W</script> provided:
+for each attribute <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>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-226">attr_i</script>, we have <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>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-227">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-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>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-228">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-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>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-229">entity(id,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-230">id</script> denotes an entity.
+</p>
+<p>Entity formulas <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>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-231">entity(id,attrs)</script> can be interpreted as follows:
+</p>
+<div class="semantics" id="entity-semantics" data-count="12" data-title="Semantics 12 (entity-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#entity-semantics">Semantics 12 (entity-semantics)</a></div>
+ <p><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>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-232">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-233">id</script> denotes an entity <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>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-234">ent = \rho(id) \in Entities</script>
+</li>
+<li>the attributes match: <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>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-235">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-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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-236">x</script> denotes an entity <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-237">e</script> such that <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>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-238">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-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>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-239">activity(id,st,et,attrs)</script>
+where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-240">id</script> is a identifier referring to the activity, <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>s</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-241">st</script> is a start
+time and <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>e</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-242">et</script> is an end time, and <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>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-243">attrs</script> are the attributes of
+activity <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-244">id</script>.
+</p>
+<div class="semantics" id="activity-semantics" data-count="13" data-title="Semantics 13 (activity-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#activity-semantics">Semantics 13 (activity-semantics)</a></div>
+  <p><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>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-245">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-246">id</script> maps to an activity <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>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-247">act = \rho(id) \in Activities</script>
+</li>
+<li><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 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-248">\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-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>m</mi><mi>i</mi><mi>n</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>i</mi><mi>d</mi><mo stretchy="false">)</mo><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-249">min(lifetime(id)) = \rho(st)</script>
+</li>
+<li><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"><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-250">\rho(et)</script> is the activity's end time, that is: <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>m</mi><mi>a</mi><mi>x</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>i</mi><mi>d</mi><mo stretchy="false">)</mo><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-251">max(lifetime(id)) = \rho(et)</script>
+</li>
+<li>The attributes match: <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"><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-252">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-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>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-253">agent(id,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-254">id</script> denotes the agent 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><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-255">attrs</script> describes additional attributes.
+</p>
+<div class="semantics" id="agent-semantics" data-count="14" data-title="Semantics 14 (agent-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#agent-semantics">Semantics 14 (agent-semantics)</a></div>
+  <p><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>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-256">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-257">id</script> denotes an agent <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>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-258">ag = \rho(id) \in Agents</script>
+    </li>
+    <li>The attributes match: <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>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-259">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-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>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-260">wasGeneratedBy(id,e,a,t,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-261">id</script> is an event identifier,
+<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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-262">e</script> is an entity identifier, <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"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-263">a</script> is an activity identifier, <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"><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-264">attrs</script> is
+a set of attribute-value pairs, and <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-265">t</script> is a time.
+</p>
+<div class="semantics" id="generation-semantics" data-count="15" data-title="Semantics 15 (generation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#generation-semantics">Semantics 15 (generation-semantics)</a></div>
+ <p><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>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-266">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-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></math></span></span></span><script type="math/tex" id="MathJax-Element-267">id</script> denotes an event <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>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>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-268">evt = \rho(id) \in Events</script>.
+</li>
+<li>[WF] The identifier <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-269">e</script> denotes an entity <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>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-270">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] The identifier <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-271">a</script> denotes an activity <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>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-272">act = \rho(a) \in Activities</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-273">evt</script> is involved in <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>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-274">act</script>, that is, <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</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>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-275">(evt,act) \in EventActivity</script>.
+</li>
+<li>The type of <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-276">evt</script> is <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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-277">generation</script>, i.e. <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>t</mi><mi>y</mi><mi>p</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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-278">type(evt) = generation</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-279">evt</script> occurred at time <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>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-280">\rho(t) \in Times</script>, i.e. <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>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-281">time(evt) = \rho(t)</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-282">evt</script> generated <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>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-283">ent</script>, i.e. <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</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></math></span></span></span><script type="math/tex" id="MathJax-Element-284">(evt,ent) \in Generated</script>.
+</li>
+<li>The attribute values match: <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>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-285">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-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>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-286">used(id,a,e,t,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-287">id</script>
+denotes an event, <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-288">a</script> is an activity identifier, <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-289">e</script> is an object
+identifier, <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>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-290">attrs</script> is a set of attribute-value pairs, and <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-291">t</script> is a time.
+</p>
+<div class="semantics" id="usage-semantics" data-count="16" data-title="Semantics 16 (usage-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#usage-semantics">Semantics 16 (usage-semantics)</a></div>
+  <p><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>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-292">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-293">id</script> denotes an event <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>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>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-294">evt = \rho(id) \in Events</script>.
+</li>
+<li>[WF] The identifier <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-295">a</script> denotes an activity <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>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-296">act = \rho(id) \in Activities</script>.
+</li>
+<li>[WF] The identifier <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-297">e</script> denotes an entity <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>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-298">ent = \rho(e) \in Entities</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-299">evt</script> is part of <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>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-300">act</script>, i.e. <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</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>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-301">(evt,act) \in EventActivity</script>.
+</li>
+<li>The type of <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"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-302">evt</script> is <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>u</mi><mi>s</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-303">use</script>, i.e., <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"><mi>t</mi><mi>y</mi><mi>p</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>u</mi><mi>s</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-304">type(evt) = use</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-305">evt</script> occurred at time <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 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-306">\rho(t) \in Times</script>,
+i.e. <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"><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-307">time(evt) = \rho(t)</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-308">evt</script> used <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>o</mi><mi>b</mi><mi>j</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-309">obj</script>, i.e. <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>e</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-310">(evt,ent) \in Used</script>.
+</li>
+<li>The attribute values match: <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>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-311">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-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>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-312">wasInvalidatedBy(id,e,a,t,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> is an event identifier, <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></math></span></span></span><script type="math/tex" id="MathJax-Element-314">e</script> is an entity identifier, <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-315">a</script> is an activity identifier, <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>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-316">attrs</script> is a set of attribute-value pairs, and <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-317">t</script> is a time.</p>
+
+<div class="semantics" id="invalidation-semantics" data-count="17" data-title="Semantics 17 (invalidation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#invalidation-semantics">Semantics 17 (invalidation-semantics)</a></div> <p>An invalidation formula <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>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-318">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-319">id</script> denotes an event <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>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>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-320">evt = \rho(id) \in Events</script>.
+</li>
+<li>[WF] The identifier <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-321">e</script> denotes an entity <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>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-322">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] The identifier <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-323">a</script> denotes an activity <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>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-324">act = \rho(a) \in Activities</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-325">evt</script> is involved in <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></math></span></span></span><script type="math/tex" id="MathJax-Element-326">act</script>, that is, <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</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>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-327">(evt,act) \in EventActivity</script>.
+</li>
+<li>The type of <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-328">evt</script> is <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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-329">invalidation</script>, i.e. <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>t</mi><mi>y</mi><mi>p</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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-330">type(evt) = invalidation</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-331">evt</script> occurred at time <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 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-332">\rho(t) \in Times</script>,
+  i.e. <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>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-333">time(evt) = \rho(t)</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-334">evt</script> invalidated <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>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-335">ent</script>, i.e. <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</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></math></span></span></span><script type="math/tex" id="MathJax-Element-336">(evt,ent) \in Invalidated</script>.
+</li>
+<li>The attribute values match: <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>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-337">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-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>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-338">wasAssociatedWith(id,a,ag,pl,attrs)</script>.</p>
+
+<div class="semantics" id="association-plan-semantics" data-count="18" data-title="Semantics 18 (association-plan-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#association-plan-semantics">Semantics 18 (association-plan-semantics)</a></div><p>
+  <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>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-339">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-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>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-340">assoc</script> denotes an association <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>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-341">assoc = \rho(id) \in Associations</script>.
+</li>
+<li>[WF] <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-342">a</script> denotes an activity <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>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-343">act = \rho(a) \in Activities</script>.
+</li>
+<li>[WF] <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></math></span></span></span><script type="math/tex" id="MathJax-Element-344">ag</script> denotes an agent <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>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-345">agent = \rho(ag) \in Agents</script>.
+</li>
+<li>[WF] <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>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-346">pl</script> denotes a plan <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>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-347">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-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"><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>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><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>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-348">(assoc,agent,act,plan) \in AssociatedWith</script>.
+</li>
+<li>The attributes match: <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>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-349">match(W,assoc,attrs)</script>.
+</li></ol></div>
+
+<div class="semantics" id="assocation-semantics" data-count="19" data-title="Semantics 19 (assocation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#assocation-semantics">Semantics 19 (assocation-semantics)</a></div><p>
+  <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>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-350">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-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>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-351">assoc</script> denotes an association <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>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-352">assoc = \rho(id) \in Associations</script>.
+</li>
+<li>[WF] <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-353">a</script> denotes an activity <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><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-354">act = \rho(a) \in Activities</script>.
+</li>
+<li>[WF] <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>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-355">ag</script> denotes an agent <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>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-356">agent = \rho(ag) \in Agents</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-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"><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>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><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>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-357">(assoc,agent,act,\bot) \in AssociatedWith</script>.
+</li>
+<li>The attributes match: <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>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-358">match(W,assoc,attrs)</script>.
+</li></ol></div>
+</section>
+<section id="start-formulas">
+<h4><span class="secno">4.4.5 </span> Start Formulas </h4>
+
+<p>A start formula <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>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-359">wasStartedBy(id,a_2,e,a_1,t,attrs)</script> is interpreted as follows:</p>
+
+<div class="semantics" id="start-semantics" data-count="20" data-title="Semantics 20 (start-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#start-semantics">Semantics 20 (start-semantics)</a></div>
+  <p><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>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-360">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-361">id</script> denotes an event <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>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>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-362">evt = \rho(id) \in Events</script>.
+</li>
+<li>[WF] <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"><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-363">a_2</script> denotes an activity <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>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-364">act_2 = \rho(a_2) \in Activities</script>.
+</li>
+<li>[WF] <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-365">e</script> denotes an entity <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>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-366">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] <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"><msub><mi>a</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-367">a_1</script> denotes an activity <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>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-368">act_1 = \rho(a_1) \in Activities</script>.
+</li>
+<li>The event <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> has type <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>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-370">start</script>, i.e. <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>t</mi><mi>y</mi><mi>p</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>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-371">type(evt) = start</script>.
+</li>
+<li>The event happened at the start of <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-372">act_2</script>, that is, <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</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>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><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-373">(evt,act_2)
+  \in EventsActivities</script>, and <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 mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>m</mi><mi>i</mi><mi>n</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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo><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-374">\rho(t) = min(lifetime(act_2)) = time(evt)</script>.
+</li>
+<li>TODO: The entity <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> was generated by <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>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-376">act_1</script> and started <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-377">act_2</script>.
+</li><li>The event happened during <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-378">act_1</script>, that is, <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</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><mo stretchy="false">∈</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><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-379">(evt,act_1)
+  \in EventsActivities</script>.
+</li>
+<li>The attributes match: <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>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-380">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-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>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-381">wasEndedBy(id,a_2,e,a_1,t,attrs)</script> is interpreted as follows:</p>
+
+<div class="semantics" id="end-semantics" data-count="21" data-title="Semantics 21 (end-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#end-semantics">Semantics 21 (end-semantics)</a></div>
+<p>
+  <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>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-382">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-383">id</script> denotes an event <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>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>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-384">evt = \rho(id) \in Events</script>.</li>
+<li> [WF] <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"><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-385">a_2</script> denotes an activity <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>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-386">act_2 = \rho(a_2)\in Activities</script>.</li>
+<li> [WF] <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-387">e</script> denotes an entity <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>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-388">ent = \rho(e)\in Entities</script>.</li>
+<li>[WF] <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"><msub><mi>a</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-389">a_1</script> denotes an activity <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>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-390">act_1 = \rho(a_1)\in Activities</script>.</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-391">evt</script> has type <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>e</mi><mi>n</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-392">end</script>, i.e. <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>t</mi><mi>y</mi><mi>p</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>e</mi><mi>n</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-393">type(evt) = end</script>.</li>
+<li>The event happened at the end of <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-394">act_2</script>, that is, <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</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>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><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-395">(evt,act_2)
+  \in EventsActivities</script>, and <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 mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>m</mi><mi>a</mi><mi>x</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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo><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-396">\rho(t) = max(lifetime(act_2)) = time(evt)</script>.</li>
+  <li>TODO: The entity <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-397">e</script> was generated by <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-398">act_1</script> and ended <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-399">act_2</script>.</li>
+
+<li>The event happened during <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-400">act_1</script>, that is, $(evt,act_1) \in EventActivity.</li>
+<li>The attributes match: <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>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-401">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-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>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-402">wasAttributedTo(id,e,ag,attrs)</script> is interpreted as follows:
+</p>
+<div class="semantics" id="attribution-semantics" data-count="22" data-title="Semantics 22 (attribution-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#attribution-semantics">Semantics 22 (attribution-semantics)</a></div>
+  <p>
+  <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>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-403">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-404">id</script> denotes an association <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>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-405">assoc = \rho(id) \in Associations</script>.
+</li>
+<li>[WF] <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></math></span></span></span><script type="math/tex" id="MathJax-Element-406">e</script> denotes an entity <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>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-407">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] <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>a</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-408">ag</script> denotes an agent <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>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-409">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-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"><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><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><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>d</mi><mi>T</mi><mi>o</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-410">(assoc,ent,agent) \in AttributedTo</script>.
+</li>
+<li>The attributes match: <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>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-411">match(W,evt,attrs)</script>.
+</li></ol>
+</div>
+</section>
+
+
+<section id="communication">
+<h4><span class="secno">4.4.8 </span>Communication</h4>
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">TODO: Communication</div></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-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>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-412">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-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>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-413">ActsFor</script> relation as follows:</p>
+
+<div class="semantics" id="delegation-semantics" data-count="23" data-title="Semantics 23 (delegation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#delegation-semantics">Semantics 23 (delegation-semantics)</a></div>
+  <p>
+  <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><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-414">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-415">id</script> denotes an association <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>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-416">deleg=\rho(id) \in Delegations</script>.
+</li>
+<li>[WF] <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></math></span></span></span><script type="math/tex" id="MathJax-Element-417">a</script> denotes an activity <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><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-418">act=\rho(a) \in Activities</script>.
+</li>
+<li>[WF] <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><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-419">ag_1,ag_2</script> denote agents <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><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-420">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-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><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-421">agent_2</script> acts for the agent <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>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-422">agent_1</script> with respect to the activity <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>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-423">act</script>, 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"><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>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><mo stretchy="false">∈</mo><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-424">(deleg,agent_2,agent_1,act) \in ActsFor</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>
+</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-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><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-426">wasDerivedFrom(id,e_2,e_1,a,g,u,attrs)</script>, which specifies an
+  activity, generation and usage event.  For convenience we call
+  a <dfn id="dfn-precise-derivation">precise derivation</dfn>.</li>
+  <li> and <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>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-427">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-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>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-428">wasDerivedFrom(id,e_2,e_1,a,g,u,attrs)</script>.
+</p>
+<div class="semantics" id="derivation-precise-semantics" data-count="24" data-title="Semantics 24 (derivation-precise-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#derivation-precise-semantics">Semantics 24 (derivation-precise-semantics)</a></div>
+  <p><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>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-429">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-430">id</script> denotes a derivation <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>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-431">deriv = \rho(id) \in Derivations</script>.
+</li>
+<li>[WF] <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"><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-432">e_1,e_2</script> denote entities <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>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-433">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-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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-434">a</script> denotes an activity <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>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-435">act = \rho(a) \in Activities</script>.
+</li>
+<li>[WF] <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>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-436">g</script> denotes a generation event <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>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>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-437">gen = \rho(g) \in Events</script> and <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>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">(</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><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></math></span></span></span><script type="math/tex" id="MathJax-Element-438">type(\rho(g)) = generation</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"><mi>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-439">u</script> denotes a use event <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 mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>u</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-440">\rho(u) \in Events</script> and <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>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">(</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>u</mi><mi>s</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-441">type(\rho(u)) = use</script>.
+</li>
+<li>The derivation denotes a one-step derivation <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>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-442">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-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"><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-443">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-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>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-444">wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)</script>.</p>
+
+<div class="semantics" id="derivation-imprecise-semantics" data-count="25" data-title="Semantics 25 (derivation-imprecise-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#derivation-imprecise-semantics">Semantics 25 (derivation-imprecise-semantics)</a></div>
+  <p><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>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-445">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-446">id</script> denotes a derivation <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>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-447">deriv = \rho(id) \in Derivations</script>
+</li>
+<li>[WF] <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"><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-448">e_1,e_2</script> denote entities <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><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-449">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-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>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-450">derivationPath(deriv)= ent_2 \cdot  w \cdot ent_1</script> for some <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>w</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-451">w</script>
+</li>
+<li>The attribute values match: <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>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-452">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="note"><div class="note-title"><span>Note</span></div><div class="">TODO: Define influence semantics.</div></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-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>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-453">specializationOf(e_1,e_2)</script> relation indicates when one entity formula presents more specific aspects of another.  
+</p>
+  <div class="note"><div class="note-title"><span>Note</span></div><div class="">
+    <p>TODO: The content of this definition may need to be moved into the
+ semantic structure via an irreflexive/transitive specialization
+    relation on Entities, since by
+    itself this definition is not transitive.</p>
+    </div></div>
+    
+<div class="semantics" id="specialization-semantics" data-count="26" data-title="Semantics 26 (specialization-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#specialization-semantics">Semantics 26 (specialization-semantics)</a></div>  <p>
+  <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>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-454">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-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"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-455">e_1</script> and <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>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-456">e_2</script> are entity identifiers, denoting
+  distinct entities <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>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-457">ent_1
+  = \rho(e_1) \in Entities</script> and <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><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-458">ent_2 = \rho(e_2) \in Entities</script>,
+  where <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><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-459">ent_1 \neq ent_2</script>.
+</li>
+<li>The two Entities refer to the same Thing, that is, <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"><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-460">thingOf(ent_1) = thingOf(ent_2)</script>.
+</li>
+<li>The lifetime of <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-461">ent_1</script> is contained in that 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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-462">ent_2</script>, i.e. <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>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-463">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-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>t</mi><mi>t</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-464">attr</script> we have <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>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-465">value(ent_1,attr) \supseteq value(ent_2,attr)</script>.
+</li></ol></div>
+
+<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-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><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-466">ent_1</script> and
+<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><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-467">ent_2</script> to have the same lifetime (or that of <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-468">ent_2</script> can be larger).
+The last criterion allows <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-469">ent_1</script> to have more defined attributes than
+<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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-470">ent_2</script>, but they must include the attributes defined by <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-471">ent_2</script>.
+</p>
+
+</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-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>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-472">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="27" data-title="Semantics 27 (alternate-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#alternate-semantics">Semantics 27 (alternate-semantics)</a></div>
+  <p>
+  <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>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-473">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-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"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-474">e_1</script> and <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"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-475">e_2</script> are entity identifiers, denoting <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>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-476">ent_1 = \rho(e_1)</script> and <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>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-477">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-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>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-478">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-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>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-479">hadMember</script> relation relates a collection to an element of the collection.
+</p>
+<div class="semantics" id="membership-semantics" data-count="28" data-title="Semantics 28 (membership-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#membership-semantics">Semantics 28 (membership-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>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-480">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-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"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-481">e_1</script> and <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"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-482">e_2</script> are entity identifiers, denoting <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"><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-483">coll
+  = \rho(c) \in Collections</script> and <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>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-484">ent = \rho(e) \in Entities</script>.
+</li>
+<li>TODO
+</li></ol>
+</div>
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">
+  <p>Additional constraints needed above to refer to (not yet defined)
+collection   structure of entities/things.</p>
+  </div></div>
+
+
+</section>
+
+</section>
+
+  <section id="auxiliary-formulas">
+  <h3><span class="secno">4.5 </span>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="equals">
+  <h4><span class="secno">4.5.1 </span>Equals</h4>
+  <p>As usual, an equality formula means that two expressions denote
+  the same value.  Identifiers always denote <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>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-485">Objects</script>.</p>
+  <div class="semantics" id="equals-semantics" data-count="29" data-title="Semantics 29 (equals-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#equals-semantics">Semantics 29 (equals-semantics)</a></div>
+    <p><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>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-486">W,\rho \models x = y</script> holds if and only if <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 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-487">\rho(x) =
+    \rho(y)</script>.</p>
+  </div>
+  </section>
+  <section id="precedes-and-strictly-precedes">
+  <h4><span class="secno">4.5.2 </span>Precedes and Strictly Precedes</h4>
+  <p>The precedes relation <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>x</mi><mo stretchy="false">⪯</mo><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-488">x \preceq y</script> holds between two events, one taking
+  place before (or simultaneously with) another.  Since the
+naive semantics assumes that times are linearly ordered and
+  event times are 
+  mapped to a single time line, this amounts to
+  comparing the event times.  The semantics of strictly precedes (<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>x</mi><mo stretchy="false">≺</mo><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-489">x
+  \prec y</script> is similar, only <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-490">x</script> must take place strictly before <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>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-491">y</script>).</p>
+  <div class="semantics" id="precedes-semantics" data-count="30" data-title="Semantics 30 (precedes-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#precedes-semantics">Semantics 30 (precedes-semantics)</a></div>
+    <ol>
+      <li><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>x</mi><mo stretchy="false">⪯</mo><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-492">W,\rho \models x \preceq y</script> holds if and only if
+      <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 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-493">\rho(x),\rho(y) \in Events</script> and <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>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><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 mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-494">time(\rho(x)) \leq time(\rho(y))</script>.</li>
+      <li><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>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-495">W,\rho \models x \prec y</script> holds if and only if
+       <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 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-496">\rho(x),\rho(y) \in Events</script> and <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>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo stretchy="false">&lt;</mo><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-497">time(\rho(x)) < time(\rho(y))</script>.</li>
+    </ol>
+  </div>
+
+  <div class="remark">
+    <p> Because we use a linearly ordered time to define event
+    precedence, there are valid PROV instances that are not satisfied
+    in any naive model.  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-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>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-498">gen_1 \preceq gen_2</script> and <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>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">⪯</mo><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-499">gen_2 \preceq gen_1</script>, but $time(gen_1)=
+    </p>
+    
+  </div>
+  </section>
+  
+  <section id="notnull">
+  <h4><span class="secno">4.5.3 </span>notNull</h4>
+  <p>The <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>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-500">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-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 mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-501">\bot</script>.  The symbol <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"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-502">-</script> always denotes the null
+  value (i.e. <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 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-503">\rho(-) = \bot</script>).
+  </p><div class="semantics" id="notNull-semantics" data-count="31" data-title="Semantics 31 (notNull-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#notNull-semantics">Semantics 31 (notNull-semantics)</a></div>
+    <p><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><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-504">W,\rho\models notNull(e)</script> holds if and only if <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>e</mi><mo stretchy="false">≠</mo><mi mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-505">e \neq
+  \bot</script>.
+      </p>
+  </div> 
+
+  
+  <section id="typeof">
+  <h5><span class="secno">4.5.3.1 </span>typeOf</h5>
+  
+  <p>The typing formula <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>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-506">typeOf(x,t)</script> constrains the type of the value of
+  <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-507">x</script>.  </p>
+
+  <div class="semantics" id="typeOf-semantics" data-count="32" data-title="Semantics 32 (typeOf-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#typeOf-semantics">Semantics 32 (typeOf-semantics)</a></div>
+    <ol><li><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>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-508">W,\rho\models typeOf(e,entity)</script> holds if and only if
+      <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 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-509">\rho(e) \in Entities</script>.</li>
+      <li><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"><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-510">W,\rho\models typeOf(a,activity)</script> holds if and only if
+      <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 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-511">\rho(a) \in Activities</script>.</li>
+      <li><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>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-512">W,\rho\models typeOf(ag,agent)</script> holds if and only if
+      <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 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-513">\rho(ag) \in Agents</script>.</li>
+      <li><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>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-514">W,\rho\models typeOf(c,Collection)</script> holds if and only if
+      TODO.</li>
+      <li><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>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-515">W,\rho\models typeOf(c,EmptyCollection)</script> holds if and only if
+      TODO.</li>
+      </ol>
+      
+    </div>
+    
+    <div class="note"><div class="note-title"><span>Note</span></div><div class="">TODO Collections</div></div>
+    
+    </section>
+    
+    </section>
+    </section>
+    
+<section id="theory">
+<h3><span class="secno">4.6 </span> Inferences and Constraints </h3>
+
+    <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">
+<h4><span class="secno">4.6.1 </span>Inferences</h4>
+
+<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-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"><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-516">\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="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-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"><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>i</mi><msub><mi>d</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>.</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>i</mi><msub><mi>d</mi><mn>2</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>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-517">\begin{array}[t]{l}
+\forall gen,e,a_1,t_1,attrs_1,id_2,a_2,t_2,attrs_2.~
+\\
+\qquad wasGeneratedBy(gen,e,a_1,t_1,attrs_1) \wedge used(id_2,a_2,e,t_2,attrs_2)
+\\
+\quad\Rightarrow
+\exists id.~wasInformedBy(id,a_2,a_1,[])
+\end{array}</script></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-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"><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-518">\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="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-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"><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-519">\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="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-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"><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-520">\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="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-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"><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-521">\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="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><p>In this inference, none of <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-522">a</script>,<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>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-523">gen_2</script>, or <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"><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-524">use_1</script> can be placeholders -.</p><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"><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-525">\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="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><p>In this inference, any of <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-526">a</script>,<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>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-527">gen_2</script>, or <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>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-528">use_1</script> can be placeholders -.</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"><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-529">\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="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-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"><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-530">\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="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-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"><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-531">\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="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-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"><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-532">\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-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"><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-533">\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-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"><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-534">\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-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"><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-535">\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-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"><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-536">\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-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"><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-537">\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-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"><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-538">\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><p>In this rule, <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-539">a</script>,<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>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-540">g</script>, or <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>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-541">u</script> may be placeholders -.</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"><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-542">\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><p>In this rule, <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"><mi>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-543">pl</script> may be a placeholder -.</p><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"><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-544">\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-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"><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-545">\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="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-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"><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-546">\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-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><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-547">ent = \rho(e)</script>.  Clearly <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>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-548">e \in Entities</script> and
+  <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>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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-549">thingOf(e) = thingOf(e)</script>, so <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>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-550">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-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"><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-551">\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-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>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-552">ent_1 = \rho(e_1)</script> and <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>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-553">ent_2 = \rho(e_2)</script> and <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>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-554">ent_3 = \rho(e_3)</script>.  Then  by
+  assumption <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-555">ent_1</script>, <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>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-556">ent_2</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>3</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-557">ent_3</script> are in <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><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-558">Entities</script> and
+  <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>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-559">thingOf(e_1) = thingOf(e_2)</script> and <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>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-560">thingOf(e_2) = thingOf(e_3)</script>, so
+  <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>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-561">thingOf(e_1) = thingOf(e_3)</script>, as required to conclude <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>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-562">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-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"><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-563">\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-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"><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-564">ent_1 = \rho(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"><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-565">ent_2 = \rho(e_2)</script>.  Then  by
+  assumption both <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></math></span></span></span><script type="math/tex" id="MathJax-Element-566">ent_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></math></span></span></span><script type="math/tex" id="MathJax-Element-567">ent_2</script> are in <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>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-568">Entities</script> and
+  <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>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-569">thingOf(e_1) = thingOf(e_2)</script>, as required to conclude <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>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-570">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-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"><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-571">\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-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"><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-572">ent_1</script> and
+  <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-573">ent_2</script> and for <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><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-574">ent_2</script> and <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><msub><mi>t</mi><mn>3</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-575">ent_3</script>, where <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>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-576">ent_1 = \rho(e_1)</script> and <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"><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-577">ent_2 = \rho(e_2)</script> and <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>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-578">ent_3 =
+  \rho(e_3)</script>. Then <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"><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-579">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-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>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-580">value(obj_2,attr) \supseteq value(obj_3,attr)</script>, and similarly
+  <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>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-581">value(obj_1,attr)\supseteq value(obj_2,attr)</script> so <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>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-582">value(obj_1,attr)
+  \supseteq value(obj_3,attr)</script>.  (TODO:
+  How do we know <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"><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">≠</mo><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-583">e_3 \neq e_1</script>?  Need strict ordering on entities in semantics.)
+</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-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"><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-584">\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-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>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-585">ent_1=\rho(e_1)</script> and <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>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-586">ent_2 = \rho(e_2)</script> are
+  specializations, then <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>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-587">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-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"><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-588">\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-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>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-589">ent_1 = \rho(e_1)</script> and <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>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-590">ent_2 = \rho(e_2)</script>.  Suppose
+  <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"><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-591">(att,v)</script> is an attribute-value pair in <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>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-592">attrs</script>.  Since
+  <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>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-593">entity(e_1,attrs)</script> holds, we know that <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>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-594">v \in value(ent_1,att)</script>.
+  Thus <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>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-595">v \in value(ent_2,att)</script> since <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"><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-596">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-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>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-597">attrs</script>, and since
+  <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"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-598">e_2</script> obviously denotes an entity, we can conclude <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>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-599">W,\rho \models entity(e,attrs</script>).
+  </p>
+</div>
+
+<section id="constraints">
+<h4><span class="secno">4.6.2 </span>Constraints</h4>
+<section id="uniqueness-constraints">
+<h5><span class="secno">4.6.2.1 </span>Uniqueness constraints</h5>
+
+<div class="constraint" id="key-object"><div class="ruleTitle"><a class="internalDFN" href="#key-object">Constraint 22 (key-object)</a></div>
+  <ol><li>The
+  identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-600">id</script> is a <span class="conditional">KEY</span> for
+  the <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>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-601">entity(id,attrs)</script> statement.</li>
+  <li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-602">id</script>
+  is a <span class="conditional">KEY</span> for the
+  <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>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><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-603">activity(id,t_1,t_2,attrs)</script> statement.</li>
+  <li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-604">id</script> is a <span class="conditional">KEY</span> for the <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>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-605">agent(id,attrs)</script> statement.</li></ol></div>
+<div class="constraint" id="key-properties"><div class="ruleTitle"><a class="internalDFN" href="#key-properties">Constraint 23 (key-properties)</a></div>
+  <ol><li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-606">id</script> is a <span class="conditional">KEY</span> for the
+    <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>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-607">wasGeneratedBy(id,e,a,t,attrs)</script> statement.</li>
+    <li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-608">id</script> is a <span class="conditional">KEY</span> for the <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>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-609">used(id,a,e,t,attrs)</script>
+    statement.</li>
+    <li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-610">id</script> is a <span class="conditional">KEY</span> for the
+    <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>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-611">wasInformedBy(id,a_2,a_1,attrs)</script> statement.</li>
+    <li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-612">id</script> is a <span class="conditional">KEY</span> for the
+    <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"><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-613">wasStartedBy(id,a_2,e,a_1,t,attrs)</script> statement.</li>
+    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-614">id</script> is a <span class="conditional">KEY</span> for the
+    <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>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-615">wasEndedBy(id,a_2,e,a_1,t,attrs)</script> statement.</li>
+    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-616">id</script> is a <span class="conditional">KEY</span> for the
+    <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>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-617">wasInvalidatedBy(id,e,a,t,attrs)</script> statement.</li>
+    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-618">id</script> is a <span class="conditional">KEY</span> for the
+    <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"><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></math></span></span></span><script type="math/tex" id="MathJax-Element-619">wasDerivedFrom(id,e_2,e_1,a,g_2,u_1,attrs)</script> statement.</li>
+    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-620">id</script> is a <span class="conditional">KEY</span> for the
+    <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"><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-621">wasAttributedTo(id,e,ag,attrs)</script> statement.</li>
+    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-622">id</script> is a <span class="conditional">KEY</span> for the
+    <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"><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-623">wasAssociatedWith(id,a,ag,pl,attrs)</script> statement.</li>
+    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-624">id</script> is a <span class="conditional">KEY</span> for the
+    <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"><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></math></span></span></span><script type="math/tex" id="MathJax-Element-625">actedOnBehalfOf(id,ag_2,ag_1,a,attrs)</script> statement.</li>
+    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-626">id</script> is a <span class="conditional">KEY</span> for the
+    <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"><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>o</mi><mn>2</mn><mo stretchy="false">,</mo><mi>o</mi><mn>1</mn><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-627">wasInfluencedBy(id,o2,o1,attrs)</script> statement.</li></ol>
+  </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-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>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-628">\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="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-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>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-629">\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="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-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>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-630">\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="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-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>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-631">\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="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-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>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-632">\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="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-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>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-633">\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>
+</section>
+
+<section id="ordering-constraints">
+<h5><span class="secno">4.6.2.2 </span>Ordering constraints</h5>
+
+
+<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-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>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><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-634">\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 \preceq end
+\end{array}</script></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-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>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><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-635">\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 \preceq start_2
+\end{array}</script></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-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><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><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-636">\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 \preceq end_2
+\end{array}</script></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-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"><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><mo stretchy="false">⪯</mo><mi>u</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-637">\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 \preceq use
+\end{array}</script></li><li><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"><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><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-638">\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 \preceq end
+\end{array}</script></li></ol></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-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"><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><mo stretchy="false">⪯</mo><mi>g</mi><mi>e</mi><mi>n</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-639">\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 \preceq gen
+\end{array}</script></li><li><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"><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><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-640">\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 \preceq end
+\end{array}</script></li></ol></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-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><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><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-641">\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 \preceq end
+\end{array}</script></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-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"><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><mo stretchy="false">⪯</mo><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-642">\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 \preceq inv
+\end{array}</script></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-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"><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><mo stretchy="false">⪯</mo><mi>u</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-643">\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 \preceq use
+\end{array}</script></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-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"><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><mo stretchy="false">⪯</mo><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-644">\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 \preceq inv
+\end{array}</script></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-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"><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><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-645">\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 \preceq gen_2
+\end{array}</script></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-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"><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><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-646">\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 \preceq inv_2
+\end{array}</script></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><p>In this constraint, <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-647">a</script>,<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>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-648">gen_2</script>, or <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>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-649">use_1</script> must not be placeholders -.</p><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"><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><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-650">\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 \preceq gen_2
+\end{array}</script></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><p>In this constraint, any of <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-651">a</script>,<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>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-652">g</script>, or <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"><mi>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-653">u</script> may be placeholders -.</p><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"><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><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-654">\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 \prec gen_2
+\end{array}</script></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-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"><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><mo stretchy="false">⪯</mo><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-655">\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 \preceq start
+\end{array}</script></li><li><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"><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><mo stretchy="false">⪯</mo><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-656">\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 \preceq inv
+\end{array}</script></li></ol></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-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"><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><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-657">\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 \preceq end
+\end{array}</script></li><li><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"><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><mo stretchy="false">⪯</mo><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-658">\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 \preceq inv
+\end{array}</script></li></ol></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-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"><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><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-659">\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 \preceq gen_2
+\end{array}</script></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-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"><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><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-660">\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 \preceq inv_2
+\end{array}</script></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-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"><mi>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-661">pl</script> may be a placeholder -.</p><ol><li><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"><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><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-662">\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 \preceq inv_2
+\end{array}</script></li><li><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"><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><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-663">\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 \preceq end_2
+\end{array}</script></li><li><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"><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><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-664">\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 \preceq end_2
+\end{array}</script></li><li><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"><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><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-665">\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 \preceq end_2
+\end{array}</script></li></ol></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-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"><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><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-666">\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 \preceq gen_2
+\end{array}</script></li><li><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"><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><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-667">\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 \preceq gen_2
+\end{array}</script></li></ol></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-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"><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><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-668">\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 \preceq inv_2
+\end{array}</script></li><li><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"><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><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-669">\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 \preceq end_2
+\end{array}</script></li></ol></div>
+
+</section>
+
+<section id="typing-constraints">
+<h5><span class="secno">4.6.2.3 </span>Typing constraints</h5>
+
+<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-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"><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-670">\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-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"><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-671">\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-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"><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-672">\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-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"><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-673">\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-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"><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-674">\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-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"><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-675">\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-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"><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-676">\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-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><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-677">\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-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"><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-678">\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-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"><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-679">\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-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"><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-680">\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-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><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-681">\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-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"><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-682">\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-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"><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-683">\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-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"><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-684">\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-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"><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-685">\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-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"><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-686">\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-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"><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-687">\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-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"><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-688">\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">
+<h5><span class="secno">4.6.2.4 </span>Impossibility constraints</h5>
+
+<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-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"><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-689">\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-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"><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-690">\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-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"><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-691">\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-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><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-692">wasDerivedFrom</script> only allows formulas to hold when either all three
+  of <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>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-693">a,g,u</script> are <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"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-694">-</script> (denoting <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></math></span></span></span><script type="math/tex" id="MathJax-Element-695">\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-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>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-696">\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-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"><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-697">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-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"><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-698">r</script>  and  <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"><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-699">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-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"><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-700">r</script>  and  <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"><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-701">s</script> are different relation names, the following constraint holds:</p><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>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-702">\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
+  interactions 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-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"><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-703">p \in \{entity,activity,agent\}</script>  and each <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"><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-704">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-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><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-705">\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 interactions 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-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>.</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-706">\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-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>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-707">\begin{array}[t]{l}
+\forall c,e.~
+\\
+\qquad hasMember(c,e) \wedge typeOf(c,EmptyCollection)
+\\
+\quad\Rightarrow
+False
+\end{array}</script></div>
+
+</section>
+</section>
+</section>
+
+
+<section id="soundness">
+<h3><span class="secno">4.7 </span>Soundness</h3>
+
+<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.  
+Our main observation is:</p>
+
+<div class="theorem" id="soundness-theorem" data-count="33" data-title="Theorem 33 (soundness-theorem)"><div class="ruleTitle"><a class="internalDFN" href="#soundness-theorem">Theorem 33 (soundness-theorem)</a></div>
+  <ol>
+  <li>If <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-708">I</script> is an instance and <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"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-709">W \models I</script> and <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"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-710">I'</script> is obtained from <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-711">I</script> by applying one
+  of the PROV inferences, then <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><mo stretchy="false">⊨</mo><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-712">W \models I'</script>.</li>
+  <li>If <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-713">I</script> is an instance and <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><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-714">W \models I</script> then <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-715">I</script> has a normal
+  form <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"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-716">I'</script> and   <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"><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-717"> W \models I'</script>.</li>
+  <li>If <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-718">I</script> is a normal form and <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"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-719">W \models I</script> then <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-720">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-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"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-721">W \models I</script> then <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-722">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-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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-723">I</script> is in normal form them we are
+  done. If <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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-724">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-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"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-725">W \models I</script> the uniqueness constraint cannot
+  fail on <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-726">I</script> and <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"><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-727">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-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"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-728">W \models I</script>.  Then <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"><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-729">W \models I'</script> where <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"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-730">I'</script> is the normal
+  form of <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-731">I</script> by part 2.  By part 3, <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"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-732">I'</script> satisfies all of the
+  remaining constraints, so <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-733">I</script> is valid.</p>
+  </div>
+
+<section id="syntactic">
+  <h4><span class="secno">4.7.1 </span>Syntactic Models and Completeness</h4>
+
+  <p>In this section we relate PROV instances and validation as
+  specified in PROV-CONSTRAINTS to certain models, which we call
+  <dfn id="dfn-syntactic-models">syntactic models</dfn>.  We will show that valid PROV instances
+  correspond to syntactic models of the first-order theory of
+  PROV.</p>
+
+  <div class="note"><div class="note-title"><span>Note</span></div><div class="">
+    Explain how to translate PROV formulas to purely relational
+    formulas.
+  </div></div>
+  </section>
+  
+</section>
+
+<section class="appendix" id="acknowledgements"> 
+      <h3><span class="secno">4.8 </span>Acknowledgements</h3> 
+      <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><section id="references" class="appendix"><!--OddPage--><h2><span class="secno">A. </span>References</h2><section id="informative-references"><h3><span class="secno">A.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/WD-prov-aq-20130312/"><cite>Provenance Access and Query</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">http://www.w3.org/TR/2013/WD-prov-aq-20130312/</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/PR-prov-constraints-20130312/"><cite>Constraints of the PROV Data Model</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">http://www.w3.org/TR/2013/PR-prov-constraints-20130312/</a>
+</dd><dt id="bib-PROV-DC">[PROV-DC]</dt><dd>Daniel Garijo; Kai Eckert; eds. <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><cite>Dublin Core to PROV Mapping</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">http://www.w3.org/TR/2013/WD-prov-dc-20130312/</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/WD-prov-dictionary-20130312/"><cite>PROV Dictionary</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/</a>
+</dd><dt id="bib-PROV-DM">[PROV-DM]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><cite>PROV-DM: The PROV Data Model</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">http://www.w3.org/TR/2013/PR-prov-dm-20130312/</a>
+</dd><dt id="bib-PROV-LINKS">[PROV-LINKS]</dt><dd>Luc Moreau; Timothy Lebo; eds. <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/"><cite>Linking Across Provenance Bundles</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">http://www.w3.org/TR/2013/WD-prov-links-20130312/</a>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/"><cite>PROV-N: The Provenance Notation</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">http://www.w3.org/TR/2013/PR-prov-n-20130312/</a>
+</dd><dt id="bib-PROV-O">[PROV-O]</dt><dd>Timothy Lebo; Satya Sahoo; Deborah McGuinness; eds. <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/"><cite>PROV-O: The PROV Ontology</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">http://www.w3.org/TR/2013/PR-prov-o-20130312/</a>
+</dd><dt id="bib-PROV-OVERVIEW">[PROV-OVERVIEW]</dt><dd>Paul Groth; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><cite>PROV-OVERVIEW: An Overview of the PROV Family of Documents</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">http://www.w3.org/TR/2013/WD-prov-overview-20130312/</a>
+</dd><dt id="bib-PROV-PRIMER">[PROV-PRIMER]</dt><dd>Yolanda Gil; Simon Miles; eds. <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/"><cite>PROV Model Primer</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">http://www.w3.org/TR/2013/WD-prov-primer-20130312/</a>
+</dd><dt id="bib-PROV-XML">[PROV-XML]</dt><dd>Hook Hua; Curt Tilmes; Stephan Zednik; eds. <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><cite>PROV-XML: The PROV XML Schema</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">http://www.w3.org/TR/2013/WD-prov-xml-20130312/</a>
+</dd></dl></section></section></body></html>
\ No newline at end of file
--- a/semantics/releases/WD-prov-sem-20130312/prov-sem-math-test.html	Sun Mar 03 14:47:59 2013 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3342 +0,0 @@
-<!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-WD"><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-working-draft-12-march-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Working Draft 12 March 2013</h2>
-  <dl>
-    
-      <dt>This version:</dt>
-      <dd><a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/">http://www.w3.org/TR/2013/WD-prov-sem-20130312/</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>Previous version:</dt>
-      <dd><a href=""></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 a Working 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 a Working 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>.
-          
-          The group does not expect this document to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
-          
-            
-              <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-and-intervals" class="tocxref"><span class="secno">2.2 </span> Times and Intervals </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></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="#interactions-1" class="tocxref"><span class="secno">3.2.4 </span> Interactions </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="#communications" class="tocxref"><span class="secno">3.2.4.3 </span>Communications</a></li><li class="tocline"><a href="#delegations" class="tocxref"><span class="secno">3.2.4.4 </span>Delegations</a></li><li class="tocline"><a href="#derivations-1" class="tocxref"><span class="secno">3.2.4.5 </span> Derivations </a></li></ul></li></ul></li><li class="tocline"><a href="#relations" class="tocxref"><span class="secno">3.3 </span> Relations </a><ul class="toc"><li class="tocline"><a href="#derivation-paths-and-derivedfrom" class="tocxref"><span class="secno">3.3.1 </span> Derivation paths and DerivedFrom </a></li></ul></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-formulas" class="tocxref"><span class="secno">4.4.5 </span> Start Formulas </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="#auxiliary-formulas" class="tocxref"><span class="secno">4.5 </span>Auxiliary formulas</a><ul class="toc"><li class="tocline"><a href="#equals" class="tocxref"><span class="secno">4.5.1 </span>Equals</a></li><li class="tocline"><a href="#precedes-and-strictly-precedes" class="tocxref"><span class="secno">4.5.2 </span>Precedes and Strictly Precedes</a></li><li class="tocline"><a href="#notnull" class="tocxref"><span class="secno">4.5.3 </span>notNull</a><ul class="toc"><li class="tocline"><a href="#typeof" class="tocxref"><span class="secno">4.5.3.1 </span>typeOf</a></li></ul></li></ul></li><li class="tocline"><a href="#theory" class="tocxref"><span class="secno">4.6 </span> Inferences and Constraints </a><ul class="toc"><li class="tocline"><a href="#inferences" class="tocxref"><span class="secno">4.6.1 </span>Inferences</a></li><li class="tocline"><a href="#constraints" class="tocxref"><span class="secno">4.6.2 </span>Constraints</a><ul class="toc"><li class="tocline"><a href="#uniqueness-constraints" class="tocxref"><span class="secno">4.6.2.1 </span>Uniqueness constraints</a></li><li class="tocline"><a href="#ordering-constraints" class="tocxref"><span class="secno">4.6.2.2 </span>Ordering constraints</a></li><li class="tocline"><a href="#typing-constraints" class="tocxref"><span class="secno">4.6.2.3 </span>Typing constraints</a></li><li class="tocline"><a href="#impossibility-constraints" class="tocxref"><span class="secno">4.6.2.4 </span>Impossibility constraints</a></li></ul></li></ul></li><li class="tocline"><a href="#soundness" class="tocxref"><span class="secno">4.7 </span>Soundness</a><ul class="toc"><li class="tocline"><a href="#syntactic" class="tocxref"><span class="secno">4.7.1 </span>Syntactic Models and Completeness</a></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">4.8 </span>Acknowledgements</a></li></ul></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">A. </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">A.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, and
-  the semantics does not (as yet) cover 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 do not discuss PROV documents.
-  The semantics of other features 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">Section 6</a> summarizes the main result: soundness of
-the theory introduced in section 5 with respect to the naive
-  semantics.  Completeness does not hold for the naive semantics.  The
-  theory is, however, sound and complete with respect to a larger
-  class of <em>syntactic models</em>, which implies that a PROV
-  instance is valid if and only if it has a syntactic 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 resaerchers 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: they denote objects, but
-just because we have 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> doesn't
-tell us that they denote different objects, since we could discover
-that they are actually the same later.  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-and-intervals">
-<h3><span class="secno">2.2 </span> Times and Intervals </h3>
-
-<p>We assume a linearly 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.  For convenience we assume the order is total or linear order, corresponding to a linear timeline; however, PROV does not assume that time is linear and events could be partially ordered and not necessarily reconciled to a single global clock.  
-</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-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>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-8">Intervals</script> of closed intervals of the form <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 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-9">\{t \mid t_1 \leq t \leq t_2\}</script>.
-</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-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>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-10">Attributes</script> of attribute labels and a set <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>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-11">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-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"><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-12">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-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>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-13">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-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>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-14">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-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"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-15">-</script> can only appear in the specified arguments
-  <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>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-16">pl</script> in <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>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-17">wasAssociatedWith</script> and <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>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-18">a,g,u</script> in <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>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-19">wasDerivedFrom</script>, as shown in the grammar below.
-</p>
-<span class="MathJax_Preview"></span><div 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" 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><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>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>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>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-20">
-\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 = y\\
-          & | & x \prec y\\
-          & | & x \preceq 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-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>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-21">Collection</script> and
-  <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>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-22">EmptyCollection</script>) and the membership relation <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>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-23">hadMember</script>; however,
-  we do not model dictionaries or the insertion or deletion relations
-  in the 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-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>p</mi><mi>r</mi><mi>o</mi><mi>v</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-24">prov</script> prefixes from the <span class="MathJax_Preview"></span><span 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"><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-25">Collection</script> and
-  <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>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-26">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-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>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-27">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 incoporate <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>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-28">mentionOf</script> or
-  other cross-instance assertions, and 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-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>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-29">memberOf</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-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" 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 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-30">
-\begin{array}{rcl}
-  \phi &{::=}& atomic\_formula\\
-& | & True\\
-& | & False\\
-&|& \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>
-
-<section id="things-1">
-
-<h3><span class="secno">3.1 </span> Things </h3> 
-
-<div class="note"><div class="note-title"><span>Note</span></div><div class="">TODO: Add semantic structure for collections and membership.</div></div>
-<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-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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-31">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-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>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-32">Things</script> of things</li>
-  <li> a function <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>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-33">lifetime : Things \to Intervals</script> from things to time intervals</li>
-  <li>a function <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>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-34">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-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"><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-35">value</script> is the set <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>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-36">P(Values)</script>, indicating that <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>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-37">value</script>
-is essentially a multi-valued that returns a set of values (possibly empty).    When <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>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-38">value(x,a,t) =
-\emptyset</script>, we say that attribute <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-39">a</script> is undefined for <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-40">x</script> at time <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-41">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-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>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-42">Thing</script> is, only how it may be described in terms of its time interval
-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-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 mathvariant="italic">π</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-43">\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-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>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-44">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-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>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-45">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-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>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-46">Things = \{T_0,T_1\}</script> and the attributes are
-specified as <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>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-47">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-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><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-48">t\in
-Times</script> and <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>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-49">a \in Attributes</script>, this does not imply that <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"><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-50">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-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><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-51">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-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> 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-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></math></span></span></span><script type="math/tex" id="MathJax-Element-53">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-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>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-54">Entities</script>, are associated with
-  <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><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-55">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-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>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-56">Thing</script> during their common lifetime.</p>  
-
-<p>In this section, we detail the different subsets <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"><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-57">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-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>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-58">Objects</script> 
-</li><li> a function <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>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-59">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-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>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-60">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-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>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-61">lifetime(e)</script> is the time interval during which object
-<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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-62">e</script> exists.  The set <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>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-63">value(e,a)</script> is the set of values of attribute <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-64">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-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>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-65">value</script> is sets of values,
-making <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>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-66">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-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>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-67">Objects</script> and <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>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-68">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-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>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-69">Objects</script> and <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>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-70">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-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>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-71">Things</script> vs fixed <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>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-72">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 describes a time-slice of a thing, during which some of the thing's attributes are fixed. 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-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>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-73">Entities \subseteq Objects</script> of entities, disjoint from <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>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-74">Activities</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>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-75">Events</script> below.
-</li><li> a function <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>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-76">thingOf : Entities \to Things</script> that associates each <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>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-77">Entity</script> with a <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></math></span></span></span><script type="math/tex" id="MathJax-Element-78">Thing</script>, such that for each <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>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>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-79">t \in lifetime(obj)</script>, and for each attribute <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-80">a</script> we have <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>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><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>o</mi><mi>b</mi><mi>j</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-81">value(obj,a) \subseteq value(thingOf(obj),a,t)</script>.
-</li><li> <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>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><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-82">lifetime(e) \subseteq lifetime(t)</script>.
-</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-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>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-83">value(x,a,t) = \emptyset</script> means that the
-  attribute <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-84">a</script> has no value at time <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-85">t</script>, whereas for an entity,
-  <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>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-86">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-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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-87">x</script> does not have a
-  fixed value for <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> during the lifetime of <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-89">x</script>.  This does not imply
-  that <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>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-90">value(thingOf(e),a,t) = \emptyset</script> when <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>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-91">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-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>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-92">value(thingOf(e),a,t)</script> is <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"><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-93">\{1\}</script> at
-  some time in <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>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-94">lifetime(e)</script> and <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>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-95">value(thingOf(e),a,t') = \{2\}</script> at
-  some other time <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"><msup><mi>t</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-96">t'</script>.  Then <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>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-97">value(e,a)</script> must be <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 mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-98">\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-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"><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-99">\{1\}</script> and <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"><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-100">\{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-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"><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-101">Entities</script> relate to <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>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-102">Things</script>, we
-  require  <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>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-103">value(e,a) \subseteq
-  value(thingOf(e),a,t)</script> whenever <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"><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-104">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-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>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-105">Thing</script> indirectly by describing an <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>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-106">Entity</script>, then
-  any attributes we ascribe to the <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"><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-107">Entity</script> must also describe the
-  associated <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"><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-108">Thing</script> during their common lifetime.  Attributes of both
-  <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> and <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> 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, for example by extending the PROV-O
-  ontology.
-  </p>
-  <p>Only <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>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-111">Entities</script> are associated with <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><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-112">Things</script>, and this is
-  necessary to provide an interpretation for the <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>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-113">alternateOf</script> and
-  <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>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-114">specializationOf</script> relations.  It might also make sense
-  to associate <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>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-115">Agents</script>, <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>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-116">Activities</script>, and <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>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-117">Interactions</script> with
-  <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>, 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-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>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-119">Plans \subseteq Entities</script> of plans.</p>
-  </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="5" data-title="Component 5 (activities)"><div class="ruleTitle"><a class="internalDFN" href="#activities">Component 5 (activities)</a></div>
-  <ol><li>A set <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>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-120">Activities \subseteq Objects</script> of activities.</li>
-  <li> Activities are disjoint from Entities: <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>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-121">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="6" data-title="Component 6 (agents)"><div class="ruleTitle"><a class="internalDFN" href="#agents">Component 6 (agents)</a></div>
-  <p>A set <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>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-122">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="interactions-1">
-<h4><span class="secno">3.2.4 </span> Interactions </h4>
-
-<p>We consider a set <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>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><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-123">Interactions \subseteq Objects</script> which are split into
-  <em>Events</em> connecting entities and activities,
-  <em>Associations</em> between agents and activities,
-  <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 interactions are discussed further below.  Interactions are disjoint from entities, activities and agents.
-</p>
-<div class="component" id="interactions" data-count="7" data-title="Component 7 (interactions)"><div class="ruleTitle"><a class="internalDFN" href="#interactions">Component 7 (interactions)</a></div>
-  <ol><li> A set <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>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><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-124">Interactions = Events \cup Associations \cup
-  Communications \cup Delegations \cup Derivations \subseteq Objects</script>
-</li>
-<li> A function <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>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">:</mo><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><mo stretchy="false">→</mo><mo fence="false" 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><mi>u</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</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><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><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><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>q</mi><mi>u</mi><mi>o</mi><mi>t</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">,</mo><mi>p</mi><mi>r</mi><mi>i</mi><mi>m</mi><mi>a</mi><mi>r</mi><mi>y</mi><mi>S</mi><mi>o</mi><mi>u</mi><mi>r</mi><mi>c</mi><mi>e</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><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><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-125">type: Interactions \to
-  \{start,end,usage,generation,invalidation,derivation,revision,quotation,primarySource,attribution,delegation\}</script>.
-</li>
-<li> The sets <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>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-126">Events</script>, <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>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-127">Associations</script>, <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>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-128">Communications</script>, <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>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-129">Delegations</script>
-  and <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>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-130">Derivations</script> are all disjoint.
-</li><li> Interactions are disjoint from entities, agents and
-activities:  <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>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><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-131">Interactions \cap (Entities \cup Activities \cup Agents) = \emptyset</script>
-</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 interaction 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="8" data-title="Component 8 (events)"><div class="ruleTitle"><a class="internalDFN" href="#events">Component 8 (events)</a></div>
-<ol><li> A set <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>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>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-132">Events \subseteq Interactions</script> of events, such that
-  <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>t</mi><mi>y</mi><mi>p</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>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>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><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</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><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-133">type(evt) \in \{start,end,generation,usage,invalidation\}</script> if and
-  only if <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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-134">evt \in Events</script>.
-</li><li> A function <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>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-135">time : Events \to Times</script> giving the time of each event; i.e. <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>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-136">lifetime(evt) = \{time(evt)\}</script>.
-</li><li> The derived ordering on events given by <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><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">≤</mo><mi>e</mi><mi>v</mi><msub><mi>t</mi><mn>2</mn></msub><mspace width="thickmathspace"></mspace><mo stretchy="false">⟺</mo><mspace width="thickmathspace"></mspace><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><msub><mi>t</mi><mn>1</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><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-137">evt_1 \leq evt_2 \iff time(evt_1) \leq time(evt_2)</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 interaction relating an agent to an activity.  To model associations, we introduce:
-</p>
-<div class="component" id="associations" data-count="9" data-title="Component 9 (associations)"><div class="ruleTitle"><a class="internalDFN" href="#associations">Component 9 (associations)</a></div>
-  <p>A set <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><mo stretchy="false">⊆</mo><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-138">Associations \subseteq Interactions</script>, such that
-  <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>t</mi><mi>y</mi><mi>p</mi><mi>e</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><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></math></span></span></span><script type="math/tex" id="MathJax-Element-139">type(assoc) = association</script> if and only if <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>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</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></math></span></span></span><script type="math/tex" id="MathJax-Element-140">assoc \in Associations</script>.
-</p>
-  </div>
-  
-<p>Associations are used below in the <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>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-141">ActsFor</script> and <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>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-142">AssociatedWith</script> relations.
-
-
-</p></section>
-  <section id="communications">
-  <h5><span class="secno">3.2.4.3 </span>Communications</h5>
-  <div class="note"><div class="note-title"><span>Note</span></div><div class="">TODO</div></div>
-  
-</section>
-  <section id="delegations">
-  <h5><span class="secno">3.2.4.4 </span>Delegations</h5>
-  <div class="note"><div class="note-title"><span>Note</span></div><div class="">TODO</div></div>
-</section>
-  <section id="derivations-1">
-  
-  <h5><span class="secno">3.2.4.5 </span> Derivations </h5>
-
-<p>A <em>Derivation</em> is an interaction chaining one or more generation and use steps.  
-</p>
-<div class="component" id="derivations" data-count="10" data-title="Component 10 (derivations)"><div class="ruleTitle"><a class="internalDFN" href="#derivations">Component 10 (derivations)</a></div>
-<p>  A set <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>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>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-143">Derivations \subseteq Interactions</script>, such that
-  <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>t</mi><mi>y</mi><mi>p</mi><mi>e</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><mo fence="false" 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><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>p</mi><mi>r</mi><mi>i</mi><mi>m</mi><mi>a</mi><mi>r</mi><mi>y</mi><mi>S</mi><mi>o</mi><mi>u</mi><mi>r</mi><mi>c</mi><mi>e</mi><mo stretchy="false">,</mo><mi>q</mi><mi>u</mi><mi>o</mi><mi>t</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-144">type(deriv) \in \{derivation, revision, primarySource,quotation\}</script>
-  if and only if <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>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</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-145">deriv \in Derivations</script>.
-</p></div>
-<p>See below for the associated derivation path and DerivedFrom relation.
-</p>
-
-<div class="remark">
-  <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>
-</div>
-  
-</section>
-</section>
-</section>
-<section id="relations">
-
-<h3><span class="secno">3.3 </span> Relations </h3>
-
-<h3 id="simple-relations"> Simple relations </h3>
-<p>The entities, interactions, and activities in a structure are related in the following ways:
-</p>
-<ol><li> A relation <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>U</mi><mi>s</mi><mi>e</mi><mi>d</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><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-146">Used \subseteq Events \times Entities</script> saying when an event used an entity.  An event can use at most one entity, and if <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>e</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-147">(evt,e)\in Used</script> then <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"><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>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-148">time(evt) \in lifetime(e)</script> and <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>t</mi><mi>y</mi><mi>p</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>u</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-149">type(evt) = usage</script> must hold.
-</li><li> A relation <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>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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-150">Generated \subseteq Events \times Entities</script> saying when an event generated an entity.  An event can generate at most one entity, and if <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</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></math></span></span></span><script type="math/tex" id="MathJax-Element-151">(evt,e)\in Generated</script> then <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>m</mi><mi>i</mi><mi>n</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><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-152">min(lifetime(e)) = time(evt)</script> and <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>t</mi><mi>y</mi><mi>p</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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-153">type(evt) = generation</script> must hold.
-</li><li> A relation <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>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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-154">Invalidated \subseteq Events \times Entities</script> saying when an event invalidated an entity.  An event can invalidate at most one entity, and if <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</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></math></span></span></span><script type="math/tex" id="MathJax-Element-155">(evt,e)\in Invalidated</script> then <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>m</mi><mi>a</mi><mi>x</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><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-156">max(lifetime(e)) = time(evt)</script> and <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>t</mi><mi>y</mi><mi>p</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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-157">type(evt) = invalidation</script> must hold.
-</li><li> A relation <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>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><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>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>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-158">EventActivity \subseteq Events \times Activities</script> associating activities with events, such that <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"><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</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>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-159">(act,evt) \in EventActivity</script> implies <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>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>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>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-160">time(evt) \in lifetime(act)</script>.
-</li><li> A relation <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>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-161">AssociatedWith \subseteq Associations \times Agents \times Activities \times Plans_\bot</script> indicating when an agent is associated with an activity, and giving the identity of the association relationship, and an optional plan. 
-</li><li> A relation <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>A</mi><mi>c</mi><mi>t</mi><mi>s</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-162">ActsFor \subseteq Delegations \times Agents \times Agents \times Activities</script> indicating when one agent acts on behalf of another with respect to a given activity.  
-</li></ol>
-
-<div class="note"><div class="note-title"><span>Note</span></div><div class="">
-  TODO: Communication, start, end relations
-  </div></div>
-
-  <div class="note"><div class="note-title"><span>Note</span></div><div class="">
-  TODO: Specialization relation
-  </div></div>
-
-  <div class="note"><div class="note-title"><span>Note</span></div><div class="">
-    TODO: Additional axioms concerning the relations; for example:
-    clarify that every Event is associated with an Activity and
-    Entity; ensure that for attribution the agent's lifetime  must
-  start before that of the entity.
-  </div></div>
-
-  
-<section id="derivation-paths-and-derivedfrom">
-<h4><span class="secno">3.3.1 </span> Derivation paths and DerivedFrom </h4>
-
-<p>Recall that above we introduced a subset of interactions called <em>Derivations</em>.  These identify <em>paths</em> of the form </p>
-
-<span class="MathJax_Preview"></span><div 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" 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-163">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-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>e</mi><mi>n</mi><msub><mi>t</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-164">ent_i</script> are entities, <span class="MathJax_Preview"></span><span 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"><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-165">act_i</script> are activities, <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"><msub><mi>g</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-166">g_i</script> are generations, and <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"><msub><mi>u</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-167">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-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" 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>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>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>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><msup><mo stretchy="false">)</mo><mo stretchy="false">+</mo></msup></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-168">DerivationPaths = Entities \cdot (Events \cdot Activities \cdot
-Events \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-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"><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-169">ent\cdot g \cdot act</script> we have <span class="MathJax_Preview"></span><span 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"><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</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></math></span></span></span><script type="math/tex" id="MathJax-Element-170">(g,ent) \in Generated</script>  and <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"><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</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>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-171">(g,act) \in EventActivity</script>, and
-</li>
-<li>for each substring <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>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-172">act \cdot u \cdot ent</script> we have <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"><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>e</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-173">(u,ent) \in Used</script> and <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"><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</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>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-174">(u,act) \in EventActivity</script>.
-</li>
-</ul>
-<p>Each derivation <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><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-175">d \in Derivations</script> has an associated derivation path.  We link each derivation to an associated derivation path using the
-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>.  </p>
-
-<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, 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>
-  </div>
-
-<div class="note"><div class="note-title"><span>Note</span></div><div class="">
-  We can make the characterization of DerivationPaths more
-  precise/concise by introducing sets of Usage and Generation events.
-</div></div>
-
-<div class="remark">The reason why we need paths and not just individual derivation steps is 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.</div>
-</section>
-</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-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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-183">W</script> is a structure containing all of the above
-described data.  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-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"><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-184">W_1.Objects</script>, <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"><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-185">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>.
- Thus, we consider interpretations as follows:
-An interpretation is a function  <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 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-186">\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. 
-</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-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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-187">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-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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-188">I</script> be an interpretation of identifiers as objects in <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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-189">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-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 mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-190">\phi</script>, a structure <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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-191">W</script> and an interpretation
- <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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-192">I</script>.
-We define notation <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>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-193">W,\rho \models \phi</script> which means that <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 mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-194">\phi</script> is
- satisfied in <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>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-195">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="11" data-title="Semantics 11 (first-order-logic-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#first-order-logic-semantics">Semantics 11 (first-order-logic-semantics)</a></div>
-<ol>
-  <li><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>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-196">W,\rho \models True</script> always holds.</li>
-  <li><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>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-197">W,\rho \models False</script> never holds.</li>
-  <li><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>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-198">W,\rho \models \neg \phi</script> holds if and only if <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>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-199">W,\rho \models
-  \phi</script> does not hold.</li>
-  <li><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>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-200">W,\rho \models \phi \wedge \psi</script> holds if and only if <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>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-201">W,\rho \models
-  \phi</script> and <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>W</mi><mo stretchy="false">,</mo><mi>i</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-202">W,i\models \psi</script>.</li>
-  <li><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>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-203">W,\rho \models \phi \vee \psi</script> holds if either <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>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-204">W,\rho \models \phi</script>
-  or <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>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-205">W,\rho \models \psi</script> holds.</li>
-  <li><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>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-206">W,\rho \models \phi \Rightarrow \psi</script> holds if <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>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-207">W,\rho \models \phi</script>
-  implies <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>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-208">W,\rho \models \psi</script>.</li>
-  <li><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>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-209">W,\rho \models \exists x. \phi</script> holds if there exists some <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>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-210">obj \in
-  Objects</script> such that <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>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-211">W,\rho[x:=obj] \models \phi</script>.</li>
-  <li><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>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-212">W,\rho \models \forall x. \phi</script> holds if there for every <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>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-213">obj \in
-  Objects</script> we have <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>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-214">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-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>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-215">Objects</script>; that is, quantifiers range over entities,
-  activities, agents, or interactions (which are in turn further
-  subdivided into types of interactions).  <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>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-216">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-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></math></span></span></span><script type="math/tex" id="MathJax-Element-217">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-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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-218">I</script> as a set of atomic formulas <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"><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-219">\{\phi_1,\ldots,\phi_n\}</script>, or equivalently a
-    single formula <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 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-220">\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-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"><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-221">x_1,\ldots,x_k</script> are the existential
-    variables of <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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-222">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-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>o</mi><mi>b</mi><mi>j</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-223">obj</script> matches attributes <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"><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-224">[attr_1=val_1,...]</script> in structure <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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-225">W</script> provided:
-for each attribute <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>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-226">attr_i</script>, we have <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>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-227">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-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>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-228">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-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>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-229">entity(id,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-230">id</script> denotes an entity.
-</p>
-<p>Entity formulas <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>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-231">entity(id,attrs)</script> can be interpreted as follows:
-</p>
-<div class="semantics" id="entity-semantics" data-count="12" data-title="Semantics 12 (entity-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#entity-semantics">Semantics 12 (entity-semantics)</a></div>
- <p><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>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-232">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-233">id</script> denotes an entity <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>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-234">ent = \rho(id) \in Entities</script>
-</li>
-<li>the attributes match: <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>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-235">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-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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-236">x</script> denotes an entity <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-237">e</script> such that <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>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-238">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-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>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-239">activity(id,st,et,attrs)</script>
-where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-240">id</script> is a identifier referring to the activity, <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>s</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-241">st</script> is a start
-time and <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>e</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-242">et</script> is an end time, and <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>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-243">attrs</script> are the attributes of
-activity <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-244">id</script>.
-</p>
-<div class="semantics" id="activity-semantics" data-count="13" data-title="Semantics 13 (activity-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#activity-semantics">Semantics 13 (activity-semantics)</a></div>
-  <p><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>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-245">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-246">id</script> maps to an activity <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>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-247">act = \rho(id) \in Activities</script>
-</li>
-<li><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 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-248">\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-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>m</mi><mi>i</mi><mi>n</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>i</mi><mi>d</mi><mo stretchy="false">)</mo><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-249">min(lifetime(id)) = \rho(st)</script>
-</li>
-<li><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"><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-250">\rho(et)</script> is the activity's end time, that is: <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>m</mi><mi>a</mi><mi>x</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>i</mi><mi>d</mi><mo stretchy="false">)</mo><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-251">max(lifetime(id)) = \rho(et)</script>
-</li>
-<li>The attributes match: <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"><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-252">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-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>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-253">agent(id,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-254">id</script> denotes the agent 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><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-255">attrs</script> describes additional attributes.
-</p>
-<div class="semantics" id="agent-semantics" data-count="14" data-title="Semantics 14 (agent-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#agent-semantics">Semantics 14 (agent-semantics)</a></div>
-  <p><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>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-256">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-257">id</script> denotes an agent <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>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-258">ag = \rho(id) \in Agents</script>
-    </li>
-    <li>The attributes match: <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>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-259">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-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>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-260">wasGeneratedBy(id,e,a,t,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-261">id</script> is an event identifier,
-<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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-262">e</script> is an entity identifier, <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"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-263">a</script> is an activity identifier, <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"><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-264">attrs</script> is
-a set of attribute-value pairs, and <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-265">t</script> is a time.
-</p>
-<div class="semantics" id="generation-semantics" data-count="15" data-title="Semantics 15 (generation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#generation-semantics">Semantics 15 (generation-semantics)</a></div>
- <p><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>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-266">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-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></math></span></span></span><script type="math/tex" id="MathJax-Element-267">id</script> denotes an event <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>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>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-268">evt = \rho(id) \in Events</script>.
-</li>
-<li>[WF] The identifier <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-269">e</script> denotes an entity <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>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-270">ent = \rho(e) \in Entities</script>.
-</li>
-<li>[WF] The identifier <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-271">a</script> denotes an activity <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>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-272">act = \rho(a) \in Activities</script>.
-</li>
-<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-273">evt</script> is involved in <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>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-274">act</script>, that is, <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</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>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-275">(evt,act) \in EventActivity</script>.
-</li>
-<li>The type of <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-276">evt</script> is <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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-277">generation</script>, i.e. <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>t</mi><mi>y</mi><mi>p</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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-278">type(evt) = generation</script>.
-</li>
-<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-279">evt</script> occurred at time <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>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-280">\rho(t) \in Times</script>, i.e. <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>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-281">time(evt) = \rho(t)</script>.
-</li>
-<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-282">evt</script> generated <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>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-283">ent</script>, i.e. <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</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></math></span></span></span><script type="math/tex" id="MathJax-Element-284">(evt,ent) \in Generated</script>.
-</li>
-<li>The attribute values match: <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>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-285">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-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>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-286">used(id,a,e,t,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-287">id</script>
-denotes an event, <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-288">a</script> is an activity identifier, <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-289">e</script> is an object
-identifier, <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>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-290">attrs</script> is a set of attribute-value pairs, and <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-291">t</script> is a time.
-</p>
-<div class="semantics" id="usage-semantics" data-count="16" data-title="Semantics 16 (usage-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#usage-semantics">Semantics 16 (usage-semantics)</a></div>
-  <p><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>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-292">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-293">id</script> denotes an event <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>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>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-294">evt = \rho(id) \in Events</script>.
-</li>
-<li>[WF] The identifier <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-295">a</script> denotes an activity <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>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-296">act = \rho(id) \in Activities</script>.
-</li>
-<li>[WF] The identifier <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-297">e</script> denotes an entity <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>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-298">ent = \rho(e) \in Entities</script>.
-</li>
-<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-299">evt</script> is part of <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>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-300">act</script>, i.e. <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</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>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-301">(evt,act) \in EventActivity</script>.
-</li>
-<li>The type of <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"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-302">evt</script> is <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>u</mi><mi>s</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-303">use</script>, i.e., <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"><mi>t</mi><mi>y</mi><mi>p</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>u</mi><mi>s</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-304">type(evt) = use</script>.
-</li>
-<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-305">evt</script> occurred at time <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 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-306">\rho(t) \in Times</script>,
-i.e. <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"><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-307">time(evt) = \rho(t)</script>.
-</li>
-<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-308">evt</script> used <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>o</mi><mi>b</mi><mi>j</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-309">obj</script>, i.e. <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>e</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-310">(evt,ent) \in Used</script>.
-</li>
-<li>The attribute values match: <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>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-311">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-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>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-312">wasInvalidatedBy(id,e,a,t,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> is an event identifier, <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></math></span></span></span><script type="math/tex" id="MathJax-Element-314">e</script> is an entity identifier, <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-315">a</script> is an activity identifier, <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>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-316">attrs</script> is a set of attribute-value pairs, and <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-317">t</script> is a time.</p>
-
-<div class="semantics" id="invalidation-semantics" data-count="17" data-title="Semantics 17 (invalidation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#invalidation-semantics">Semantics 17 (invalidation-semantics)</a></div> <p>An invalidation formula <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>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-318">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-319">id</script> denotes an event <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>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>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-320">evt = \rho(id) \in Events</script>.
-</li>
-<li>[WF] The identifier <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-321">e</script> denotes an entity <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>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-322">ent = \rho(e) \in Entities</script>.
-</li>
-<li>[WF] The identifier <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-323">a</script> denotes an activity <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>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-324">act = \rho(a) \in Activities</script>.
-</li>
-<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-325">evt</script> is involved in <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></math></span></span></span><script type="math/tex" id="MathJax-Element-326">act</script>, that is, <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</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>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-327">(evt,act) \in EventActivity</script>.
-</li>
-<li>The type of <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-328">evt</script> is <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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-329">invalidation</script>, i.e. <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>t</mi><mi>y</mi><mi>p</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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-330">type(evt) = invalidation</script>.
-</li>
-<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-331">evt</script> occurred at time <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 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-332">\rho(t) \in Times</script>,
-  i.e. <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>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-333">time(evt) = \rho(t)</script>.
-</li>
-<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-334">evt</script> invalidated <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>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-335">ent</script>, i.e. <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</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></math></span></span></span><script type="math/tex" id="MathJax-Element-336">(evt,ent) \in Invalidated</script>.
-</li>
-<li>The attribute values match: <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>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-337">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-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>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-338">wasAssociatedWith(id,a,ag,pl,attrs)</script>.</p>
-
-<div class="semantics" id="association-plan-semantics" data-count="18" data-title="Semantics 18 (association-plan-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#association-plan-semantics">Semantics 18 (association-plan-semantics)</a></div><p>
-  <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>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-339">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-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>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-340">assoc</script> denotes an association <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>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-341">assoc = \rho(id) \in Associations</script>.
-</li>
-<li>[WF] <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-342">a</script> denotes an activity <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>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-343">act = \rho(a) \in Activities</script>.
-</li>
-<li>[WF] <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></math></span></span></span><script type="math/tex" id="MathJax-Element-344">ag</script> denotes an agent <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>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-345">agent = \rho(ag) \in Agents</script>.
-</li>
-<li>[WF] <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>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-346">pl</script> denotes a plan <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>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-347">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-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"><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>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><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>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-348">(assoc,agent,act,plan) \in AssociatedWith</script>.
-</li>
-<li>The attributes match: <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>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-349">match(W,assoc,attrs)</script>.
-</li></ol></div>
-
-<div class="semantics" id="assocation-semantics" data-count="19" data-title="Semantics 19 (assocation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#assocation-semantics">Semantics 19 (assocation-semantics)</a></div><p>
-  <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>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-350">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-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>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-351">assoc</script> denotes an association <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>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-352">assoc = \rho(id) \in Associations</script>.
-</li>
-<li>[WF] <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-353">a</script> denotes an activity <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><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-354">act = \rho(a) \in Activities</script>.
-</li>
-<li>[WF] <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>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-355">ag</script> denotes an agent <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>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-356">agent = \rho(ag) \in Agents</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-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"><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>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><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>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-357">(assoc,agent,act,\bot) \in AssociatedWith</script>.
-</li>
-<li>The attributes match: <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>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-358">match(W,assoc,attrs)</script>.
-</li></ol></div>
-</section>
-<section id="start-formulas">
-<h4><span class="secno">4.4.5 </span> Start Formulas </h4>
-
-<p>A start formula <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>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-359">wasStartedBy(id,a_2,e,a_1,t,attrs)</script> is interpreted as follows:</p>
-
-<div class="semantics" id="start-semantics" data-count="20" data-title="Semantics 20 (start-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#start-semantics">Semantics 20 (start-semantics)</a></div>
-  <p><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>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-360">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-361">id</script> denotes an event <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>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>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-362">evt = \rho(id) \in Events</script>.
-</li>
-<li>[WF] <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"><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-363">a_2</script> denotes an activity <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>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-364">act_2 = \rho(a_2) \in Activities</script>.
-</li>
-<li>[WF] <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-365">e</script> denotes an entity <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>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-366">ent = \rho(e) \in Entities</script>.
-</li>
-<li>[WF] <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"><msub><mi>a</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-367">a_1</script> denotes an activity <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>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-368">act_1 = \rho(a_1) \in Activities</script>.
-</li>
-<li>The event <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> has type <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>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-370">start</script>, i.e. <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>t</mi><mi>y</mi><mi>p</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>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-371">type(evt) = start</script>.
-</li>
-<li>The event happened at the start of <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-372">act_2</script>, that is, <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</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>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><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-373">(evt,act_2)
-  \in EventsActivities</script>, and <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 mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>m</mi><mi>i</mi><mi>n</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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo><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-374">\rho(t) = min(lifetime(act_2)) = time(evt)</script>.
-</li>
-<li>TODO: The entity <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> was generated by <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>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-376">act_1</script> and started <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-377">act_2</script>.
-</li><li>The event happened during <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-378">act_1</script>, that is, <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</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><mo stretchy="false">∈</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><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-379">(evt,act_1)
-  \in EventsActivities</script>.
-</li>
-<li>The attributes match: <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>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-380">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-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>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-381">wasEndedBy(id,a_2,e,a_1,t,attrs)</script> is interpreted as follows:</p>
-
-<div class="semantics" id="end-semantics" data-count="21" data-title="Semantics 21 (end-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#end-semantics">Semantics 21 (end-semantics)</a></div>
-<p>
-  <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>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-382">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-383">id</script> denotes an event <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>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>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-384">evt = \rho(id) \in Events</script>.</li>
-<li> [WF] <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"><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-385">a_2</script> denotes an activity <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>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-386">act_2 = \rho(a_2)\in Activities</script>.</li>
-<li> [WF] <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-387">e</script> denotes an entity <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>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-388">ent = \rho(e)\in Entities</script>.</li>
-<li>[WF] <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"><msub><mi>a</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-389">a_1</script> denotes an activity <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>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-390">act_1 = \rho(a_1)\in Activities</script>.</li>
-<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-391">evt</script> has type <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>e</mi><mi>n</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-392">end</script>, i.e. <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>t</mi><mi>y</mi><mi>p</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>e</mi><mi>n</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-393">type(evt) = end</script>.</li>
-<li>The event happened at the end of <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-394">act_2</script>, that is, <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"><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</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>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><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-395">(evt,act_2)
-  \in EventsActivities</script>, and <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 mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>m</mi><mi>a</mi><mi>x</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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo><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-396">\rho(t) = max(lifetime(act_2)) = time(evt)</script>.</li>
-  <li>TODO: The entity <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-397">e</script> was generated by <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-398">act_1</script> and ended <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-399">act_2</script>.</li>
-
-<li>The event happened during <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-400">act_1</script>, that is, $(evt,act_1) \in EventActivity.</li>
-<li>The attributes match: <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>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-401">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-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>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-402">wasAttributedTo(id,e,ag,attrs)</script> is interpreted as follows:
-</p>
-<div class="semantics" id="attribution-semantics" data-count="22" data-title="Semantics 22 (attribution-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#attribution-semantics">Semantics 22 (attribution-semantics)</a></div>
-  <p>
-  <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>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-403">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-404">id</script> denotes an association <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>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-405">assoc = \rho(id) \in Associations</script>.
-</li>
-<li>[WF] <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></math></span></span></span><script type="math/tex" id="MathJax-Element-406">e</script> denotes an entity <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>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-407">ent = \rho(e) \in Entities</script>.
-</li>
-<li>[WF] <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>a</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-408">ag</script> denotes an agent <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>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-409">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-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"><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><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><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>d</mi><mi>T</mi><mi>o</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-410">(assoc,ent,agent) \in AttributedTo</script>.
-</li>
-<li>The attributes match: <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>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-411">match(W,evt,attrs)</script>.
-</li></ol>
-</div>
-</section>
-
-
-<section id="communication">
-<h4><span class="secno">4.4.8 </span>Communication</h4>
-<div class="note"><div class="note-title"><span>Note</span></div><div class="">TODO: Communication</div></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-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>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-412">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-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>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-413">ActsFor</script> relation as follows:</p>
-
-<div class="semantics" id="delegation-semantics" data-count="23" data-title="Semantics 23 (delegation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#delegation-semantics">Semantics 23 (delegation-semantics)</a></div>
-  <p>
-  <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><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-414">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-415">id</script> denotes an association <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>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-416">deleg=\rho(id) \in Delegations</script>.
-</li>
-<li>[WF] <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></math></span></span></span><script type="math/tex" id="MathJax-Element-417">a</script> denotes an activity <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><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-418">act=\rho(a) \in Activities</script>.
-</li>
-<li>[WF] <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><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-419">ag_1,ag_2</script> denote agents <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><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-420">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-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><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-421">agent_2</script> acts for the agent <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>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-422">agent_1</script> with respect to the activity <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>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-423">act</script>, 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"><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>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><mo stretchy="false">∈</mo><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-424">(deleg,agent_2,agent_1,act) \in ActsFor</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>
-</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-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><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-426">wasDerivedFrom(id,e_2,e_1,a,g,u,attrs)</script>, which specifies an
-  activity, generation and usage event.  For convenience we call
-  a <dfn id="dfn-precise-derivation">precise derivation</dfn>.</li>
-  <li> and <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>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-427">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-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>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-428">wasDerivedFrom(id,e_2,e_1,a,g,u,attrs)</script>.
-</p>
-<div class="semantics" id="derivation-precise-semantics" data-count="24" data-title="Semantics 24 (derivation-precise-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#derivation-precise-semantics">Semantics 24 (derivation-precise-semantics)</a></div>
-  <p><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>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-429">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-430">id</script> denotes a derivation <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>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-431">deriv = \rho(id) \in Derivations</script>.
-</li>
-<li>[WF] <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"><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-432">e_1,e_2</script> denote entities <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>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-433">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-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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-434">a</script> denotes an activity <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>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-435">act = \rho(a) \in Activities</script>.
-</li>
-<li>[WF] <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>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-436">g</script> denotes a generation event <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>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>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-437">gen = \rho(g) \in Events</script> and <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>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">(</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><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></math></span></span></span><script type="math/tex" id="MathJax-Element-438">type(\rho(g)) = generation</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"><mi>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-439">u</script> denotes a use event <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 mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>u</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-440">\rho(u) \in Events</script> and <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>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">(</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>u</mi><mi>s</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-441">type(\rho(u)) = use</script>.
-</li>
-<li>The derivation denotes a one-step derivation <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>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-442">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-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"><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-443">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-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>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-444">wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)</script>.</p>
-
-<div class="semantics" id="derivation-imprecise-semantics" data-count="25" data-title="Semantics 25 (derivation-imprecise-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#derivation-imprecise-semantics">Semantics 25 (derivation-imprecise-semantics)</a></div>
-  <p><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>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-445">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-446">id</script> denotes a derivation <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>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-447">deriv = \rho(id) \in Derivations</script>
-</li>
-<li>[WF] <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"><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-448">e_1,e_2</script> denote entities <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><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-449">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-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>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-450">derivationPath(deriv)= ent_2 \cdot  w \cdot ent_1</script> for some <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>w</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-451">w</script>
-</li>
-<li>The attribute values match: <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>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-452">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="note"><div class="note-title"><span>Note</span></div><div class="">TODO: Define influence semantics.</div></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-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>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-453">specializationOf(e_1,e_2)</script> relation indicates when one entity formula presents more specific aspects of another.  
-</p>
-  <div class="note"><div class="note-title"><span>Note</span></div><div class="">
-    <p>TODO: The content of this definition may need to be moved into the
- semantic structure via an irreflexive/transitive specialization
-    relation on Entities, since by
-    itself this definition is not transitive.</p>
-    </div></div>
-    
-<div class="semantics" id="specialization-semantics" data-count="26" data-title="Semantics 26 (specialization-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#specialization-semantics">Semantics 26 (specialization-semantics)</a></div>  <p>
-  <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>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-454">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-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"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-455">e_1</script> and <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>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-456">e_2</script> are entity identifiers, denoting
-  distinct entities <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>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-457">ent_1
-  = \rho(e_1) \in Entities</script> and <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><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-458">ent_2 = \rho(e_2) \in Entities</script>,
-  where <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><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-459">ent_1 \neq ent_2</script>.
-</li>
-<li>The two Entities refer to the same Thing, that is, <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"><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-460">thingOf(ent_1) = thingOf(ent_2)</script>.
-</li>
-<li>The lifetime of <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-461">ent_1</script> is contained in that 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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-462">ent_2</script>, i.e. <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>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-463">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-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>t</mi><mi>t</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-464">attr</script> we have <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>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-465">value(ent_1,attr) \supseteq value(ent_2,attr)</script>.
-</li></ol></div>
-
-<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-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><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-466">ent_1</script> and
-<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><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-467">ent_2</script> to have the same lifetime (or that of <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-468">ent_2</script> can be larger).
-The last criterion allows <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-469">ent_1</script> to have more defined attributes than
-<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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-470">ent_2</script>, but they must include the attributes defined by <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-471">ent_2</script>.
-</p>
-
-</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-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>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-472">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="27" data-title="Semantics 27 (alternate-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#alternate-semantics">Semantics 27 (alternate-semantics)</a></div>
-  <p>
-  <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>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-473">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-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"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-474">e_1</script> and <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"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-475">e_2</script> are entity identifiers, denoting <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>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-476">ent_1 = \rho(e_1)</script> and <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>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-477">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-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>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-478">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-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>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-479">hadMember</script> relation relates a collection to an element of the collection.
-</p>
-<div class="semantics" id="membership-semantics" data-count="28" data-title="Semantics 28 (membership-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#membership-semantics">Semantics 28 (membership-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>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-480">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-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"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-481">e_1</script> and <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"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-482">e_2</script> are entity identifiers, denoting <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"><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-483">coll
-  = \rho(c) \in Collections</script> and <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>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-484">ent = \rho(e) \in Entities</script>.
-</li>
-<li>TODO
-</li></ol>
-</div>
-<div class="note"><div class="note-title"><span>Note</span></div><div class="">
-  <p>Additional constraints needed above to refer to (not yet defined)
-collection   structure of entities/things.</p>
-  </div></div>
-
-
-</section>
-
-</section>
-
-  <section id="auxiliary-formulas">
-  <h3><span class="secno">4.5 </span>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="equals">
-  <h4><span class="secno">4.5.1 </span>Equals</h4>
-  <p>As usual, an equality formula means that two expressions denote
-  the same value.  Identifiers always denote <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>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-485">Objects</script>.</p>
-  <div class="semantics" id="equals-semantics" data-count="29" data-title="Semantics 29 (equals-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#equals-semantics">Semantics 29 (equals-semantics)</a></div>
-    <p><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>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-486">W,\rho \models x = y</script> holds if and only if <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 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-487">\rho(x) =
-    \rho(y)</script>.</p>
-  </div>
-  </section>
-  <section id="precedes-and-strictly-precedes">
-  <h4><span class="secno">4.5.2 </span>Precedes and Strictly Precedes</h4>
-  <p>The precedes relation <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>x</mi><mo stretchy="false">⪯</mo><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-488">x \preceq y</script> holds between two events, one taking
-  place before (or simultaneously with) another.  Since the
-naive semantics assumes that times are linearly ordered and
-  event times are 
-  mapped to a single time line, this amounts to
-  comparing the event times.  The semantics of strictly precedes (<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>x</mi><mo stretchy="false">≺</mo><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-489">x
-  \prec y</script> is similar, only <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-490">x</script> must take place strictly before <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>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-491">y</script>).</p>
-  <div class="semantics" id="precedes-semantics" data-count="30" data-title="Semantics 30 (precedes-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#precedes-semantics">Semantics 30 (precedes-semantics)</a></div>
-    <ol>
-      <li><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>x</mi><mo stretchy="false">⪯</mo><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-492">W,\rho \models x \preceq y</script> holds if and only if
-      <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 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-493">\rho(x),\rho(y) \in Events</script> and <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>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><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 mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-494">time(\rho(x)) \leq time(\rho(y))</script>.</li>
-      <li><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>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-495">W,\rho \models x \prec y</script> holds if and only if
-       <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 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-496">\rho(x),\rho(y) \in Events</script> and <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>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo stretchy="false">&lt;</mo><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-497">time(\rho(x)) < time(\rho(y))</script>.</li>
-    </ol>
-  </div>
-
-  <div class="remark">
-    <p> Because we use a linearly ordered time to define event
-    precedence, there are valid PROV instances that are not satisfied
-    in any naive model.  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-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>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-498">gen_1 \preceq gen_2</script> and <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>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">⪯</mo><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-499">gen_2 \preceq gen_1</script>, but $time(gen_1)=
-    </p>
-    
-  </div>
-  </section>
-  
-  <section id="notnull">
-  <h4><span class="secno">4.5.3 </span>notNull</h4>
-  <p>The <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>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-500">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-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 mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-501">\bot</script>.  The symbol <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"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-502">-</script> always denotes the null
-  value (i.e. <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 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-503">\rho(-) = \bot</script>).
-  </p><div class="semantics" id="notNull-semantics" data-count="31" data-title="Semantics 31 (notNull-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#notNull-semantics">Semantics 31 (notNull-semantics)</a></div>
-    <p><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><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-504">W,\rho\models notNull(e)</script> holds if and only if <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>e</mi><mo stretchy="false">≠</mo><mi mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-505">e \neq
-  \bot</script>.
-      </p>
-  </div> 
-
-  
-  <section id="typeof">
-  <h5><span class="secno">4.5.3.1 </span>typeOf</h5>
-  
-  <p>The typing formula <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>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-506">typeOf(x,t)</script> constrains the type of the value of
-  <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-507">x</script>.  </p>
-
-  <div class="semantics" id="typeOf-semantics" data-count="32" data-title="Semantics 32 (typeOf-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#typeOf-semantics">Semantics 32 (typeOf-semantics)</a></div>
-    <ol><li><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>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-508">W,\rho\models typeOf(e,entity)</script> holds if and only if
-      <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 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-509">\rho(e) \in Entities</script>.</li>
-      <li><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"><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-510">W,\rho\models typeOf(a,activity)</script> holds if and only if
-      <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 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-511">\rho(a) \in Activities</script>.</li>
-      <li><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>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-512">W,\rho\models typeOf(ag,agent)</script> holds if and only if
-      <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 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-513">\rho(ag) \in Agents</script>.</li>
-      <li><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>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-514">W,\rho\models typeOf(c,Collection)</script> holds if and only if
-      TODO.</li>
-      <li><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>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-515">W,\rho\models typeOf(c,EmptyCollection)</script> holds if and only if
-      TODO.</li>
-      </ol>
-      
-    </div>
-    
-    <div class="note"><div class="note-title"><span>Note</span></div><div class="">TODO Collections</div></div>
-    
-    </section>
-    
-    </section>
-    </section>
-    
-<section id="theory">
-<h3><span class="secno">4.6 </span> Inferences and Constraints </h3>
-
-    <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">
-<h4><span class="secno">4.6.1 </span>Inferences</h4>
-
-<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-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"><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-516">\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="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-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"><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>i</mi><msub><mi>d</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>.</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>i</mi><msub><mi>d</mi><mn>2</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>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-517">\begin{array}[t]{l}
-\forall gen,e,a_1,t_1,attrs_1,id_2,a_2,t_2,attrs_2.~
-\\
-\qquad wasGeneratedBy(gen,e,a_1,t_1,attrs_1) \wedge used(id_2,a_2,e,t_2,attrs_2)
-\\
-\quad\Rightarrow
-\exists id.~wasInformedBy(id,a_2,a_1,[])
-\end{array}</script></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-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"><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-518">\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="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-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"><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-519">\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="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-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"><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-520">\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="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-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"><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-521">\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="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><p>In this inference, none of <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-522">a</script>,<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>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-523">gen_2</script>, or <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"><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-524">use_1</script> can be placeholders -.</p><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"><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-525">\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="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><p>In this inference, any of <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-526">a</script>,<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>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-527">gen_2</script>, or <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>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-528">use_1</script> can be placeholders -.</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"><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-529">\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="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-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"><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-530">\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="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-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"><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-531">\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="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-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"><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-532">\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-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"><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-533">\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-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"><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-534">\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-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"><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-535">\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-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"><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-536">\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-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"><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-537">\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-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"><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-538">\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><p>In this rule, <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-539">a</script>,<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>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-540">g</script>, or <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>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-541">u</script> may be placeholders -.</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"><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-542">\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><p>In this rule, <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"><mi>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-543">pl</script> may be a placeholder -.</p><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"><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-544">\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-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"><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-545">\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="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-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"><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-546">\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-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><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-547">ent = \rho(e)</script>.  Clearly <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>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-548">e \in Entities</script> and
-  <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>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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-549">thingOf(e) = thingOf(e)</script>, so <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>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-550">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-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"><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-551">\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-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>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-552">ent_1 = \rho(e_1)</script> and <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>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-553">ent_2 = \rho(e_2)</script> and <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>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-554">ent_3 = \rho(e_3)</script>.  Then  by
-  assumption <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-555">ent_1</script>, <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>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-556">ent_2</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>3</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-557">ent_3</script> are in <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><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-558">Entities</script> and
-  <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>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-559">thingOf(e_1) = thingOf(e_2)</script> and <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>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-560">thingOf(e_2) = thingOf(e_3)</script>, so
-  <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>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-561">thingOf(e_1) = thingOf(e_3)</script>, as required to conclude <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>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-562">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-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"><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-563">\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-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"><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-564">ent_1 = \rho(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"><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-565">ent_2 = \rho(e_2)</script>.  Then  by
-  assumption both <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></math></span></span></span><script type="math/tex" id="MathJax-Element-566">ent_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></math></span></span></span><script type="math/tex" id="MathJax-Element-567">ent_2</script> are in <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>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-568">Entities</script> and
-  <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>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-569">thingOf(e_1) = thingOf(e_2)</script>, as required to conclude <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>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-570">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-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"><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-571">\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-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"><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-572">ent_1</script> and
-  <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-573">ent_2</script> and for <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><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-574">ent_2</script> and <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><msub><mi>t</mi><mn>3</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-575">ent_3</script>, where <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>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-576">ent_1 = \rho(e_1)</script> and <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"><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-577">ent_2 = \rho(e_2)</script> and <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>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-578">ent_3 =
-  \rho(e_3)</script>. Then <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"><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-579">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-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>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-580">value(obj_2,attr) \supseteq value(obj_3,attr)</script>, and similarly
-  <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>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-581">value(obj_1,attr)\supseteq value(obj_2,attr)</script> so <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>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-582">value(obj_1,attr)
-  \supseteq value(obj_3,attr)</script>.  (TODO:
-  How do we know <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"><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">≠</mo><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-583">e_3 \neq e_1</script>?  Need strict ordering on entities in semantics.)
-</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-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"><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-584">\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-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>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-585">ent_1=\rho(e_1)</script> and <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>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-586">ent_2 = \rho(e_2)</script> are
-  specializations, then <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>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-587">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-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"><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-588">\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-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>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-589">ent_1 = \rho(e_1)</script> and <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>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-590">ent_2 = \rho(e_2)</script>.  Suppose
-  <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"><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-591">(att,v)</script> is an attribute-value pair in <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>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-592">attrs</script>.  Since
-  <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>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-593">entity(e_1,attrs)</script> holds, we know that <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>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-594">v \in value(ent_1,att)</script>.
-  Thus <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>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-595">v \in value(ent_2,att)</script> since <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"><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-596">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-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>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-597">attrs</script>, and since
-  <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"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-598">e_2</script> obviously denotes an entity, we can conclude <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>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-599">W,\rho \models entity(e,attrs</script>).
-  </p>
-</div>
-
-<section id="constraints">
-<h4><span class="secno">4.6.2 </span>Constraints</h4>
-<section id="uniqueness-constraints">
-<h5><span class="secno">4.6.2.1 </span>Uniqueness constraints</h5>
-
-<div class="constraint" id="key-object"><div class="ruleTitle"><a class="internalDFN" href="#key-object">Constraint 22 (key-object)</a></div>
-  <ol><li>The
-  identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-600">id</script> is a <span class="conditional">KEY</span> for
-  the <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>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-601">entity(id,attrs)</script> statement.</li>
-  <li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-602">id</script>
-  is a <span class="conditional">KEY</span> for the
-  <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>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><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-603">activity(id,t_1,t_2,attrs)</script> statement.</li>
-  <li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-604">id</script> is a <span class="conditional">KEY</span> for the <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>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-605">agent(id,attrs)</script> statement.</li></ol></div>
-<div class="constraint" id="key-properties"><div class="ruleTitle"><a class="internalDFN" href="#key-properties">Constraint 23 (key-properties)</a></div>
-  <ol><li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-606">id</script> is a <span class="conditional">KEY</span> for the
-    <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>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-607">wasGeneratedBy(id,e,a,t,attrs)</script> statement.</li>
-    <li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-608">id</script> is a <span class="conditional">KEY</span> for the <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>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-609">used(id,a,e,t,attrs)</script>
-    statement.</li>
-    <li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-610">id</script> is a <span class="conditional">KEY</span> for the
-    <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>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-611">wasInformedBy(id,a_2,a_1,attrs)</script> statement.</li>
-    <li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-612">id</script> is a <span class="conditional">KEY</span> for the
-    <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"><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-613">wasStartedBy(id,a_2,e,a_1,t,attrs)</script> statement.</li>
-    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-614">id</script> is a <span class="conditional">KEY</span> for the
-    <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>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-615">wasEndedBy(id,a_2,e,a_1,t,attrs)</script> statement.</li>
-    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-616">id</script> is a <span class="conditional">KEY</span> for the
-    <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>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-617">wasInvalidatedBy(id,e,a,t,attrs)</script> statement.</li>
-    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-618">id</script> is a <span class="conditional">KEY</span> for the
-    <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"><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></math></span></span></span><script type="math/tex" id="MathJax-Element-619">wasDerivedFrom(id,e_2,e_1,a,g_2,u_1,attrs)</script> statement.</li>
-    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-620">id</script> is a <span class="conditional">KEY</span> for the
-    <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"><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-621">wasAttributedTo(id,e,ag,attrs)</script> statement.</li>
-    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-622">id</script> is a <span class="conditional">KEY</span> for the
-    <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"><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-623">wasAssociatedWith(id,a,ag,pl,attrs)</script> statement.</li>
-    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-624">id</script> is a <span class="conditional">KEY</span> for the
-    <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"><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></math></span></span></span><script type="math/tex" id="MathJax-Element-625">actedOnBehalfOf(id,ag_2,ag_1,a,attrs)</script> statement.</li>
-    <li>The identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-626">id</script> is a <span class="conditional">KEY</span> for the
-    <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"><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>o</mi><mn>2</mn><mo stretchy="false">,</mo><mi>o</mi><mn>1</mn><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-627">wasInfluencedBy(id,o2,o1,attrs)</script> statement.</li></ol>
-  </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-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>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-628">\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="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-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>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-629">\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="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-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>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-630">\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="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-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>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-631">\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="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-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>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-632">\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="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-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>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-633">\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>
-</section>
-
-<section id="ordering-constraints">
-<h5><span class="secno">4.6.2.2 </span>Ordering constraints</h5>
-
-
-<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-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>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><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-634">\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 \preceq end
-\end{array}</script></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-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>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><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-635">\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 \preceq start_2
-\end{array}</script></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-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><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><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-636">\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 \preceq end_2
-\end{array}</script></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-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"><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><mo stretchy="false">⪯</mo><mi>u</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-637">\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 \preceq use
-\end{array}</script></li><li><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"><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><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-638">\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 \preceq end
-\end{array}</script></li></ol></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-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"><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><mo stretchy="false">⪯</mo><mi>g</mi><mi>e</mi><mi>n</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-639">\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 \preceq gen
-\end{array}</script></li><li><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"><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><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-640">\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 \preceq end
-\end{array}</script></li></ol></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-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><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><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-641">\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 \preceq end
-\end{array}</script></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-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"><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><mo stretchy="false">⪯</mo><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-642">\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 \preceq inv
-\end{array}</script></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-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"><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><mo stretchy="false">⪯</mo><mi>u</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-643">\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 \preceq use
-\end{array}</script></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-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"><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><mo stretchy="false">⪯</mo><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-644">\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 \preceq inv
-\end{array}</script></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-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"><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><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-645">\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 \preceq gen_2
-\end{array}</script></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-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"><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><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-646">\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 \preceq inv_2
-\end{array}</script></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><p>In this constraint, <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-647">a</script>,<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>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-648">gen_2</script>, or <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>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-649">use_1</script> must not be placeholders -.</p><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"><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><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-650">\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 \preceq gen_2
-\end{array}</script></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><p>In this constraint, any of <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-651">a</script>,<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>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-652">g</script>, or <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"><mi>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-653">u</script> may be placeholders -.</p><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"><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><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-654">\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 \prec gen_2
-\end{array}</script></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-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"><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><mo stretchy="false">⪯</mo><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-655">\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 \preceq start
-\end{array}</script></li><li><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"><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><mo stretchy="false">⪯</mo><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-656">\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 \preceq inv
-\end{array}</script></li></ol></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-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"><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><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-657">\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 \preceq end
-\end{array}</script></li><li><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"><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><mo stretchy="false">⪯</mo><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-658">\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 \preceq inv
-\end{array}</script></li></ol></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-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"><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><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-659">\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 \preceq gen_2
-\end{array}</script></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-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"><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><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-660">\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 \preceq inv_2
-\end{array}</script></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-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"><mi>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-661">pl</script> may be a placeholder -.</p><ol><li><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"><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><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-662">\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 \preceq inv_2
-\end{array}</script></li><li><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"><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><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-663">\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 \preceq end_2
-\end{array}</script></li><li><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"><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><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-664">\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 \preceq end_2
-\end{array}</script></li><li><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"><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><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-665">\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 \preceq end_2
-\end{array}</script></li></ol></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-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"><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><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-666">\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 \preceq gen_2
-\end{array}</script></li><li><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"><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><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-667">\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 \preceq gen_2
-\end{array}</script></li></ol></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-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"><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><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-668">\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 \preceq inv_2
-\end{array}</script></li><li><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"><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><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-669">\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 \preceq end_2
-\end{array}</script></li></ol></div>
-
-</section>
-
-<section id="typing-constraints">
-<h5><span class="secno">4.6.2.3 </span>Typing constraints</h5>
-
-<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-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"><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-670">\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-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"><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-671">\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-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"><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-672">\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-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"><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-673">\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-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"><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-674">\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-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"><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-675">\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-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"><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-676">\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-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><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-677">\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-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"><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-678">\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-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"><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-679">\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-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"><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-680">\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-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><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-681">\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-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"><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-682">\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-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"><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-683">\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-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"><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-684">\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-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"><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-685">\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-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"><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-686">\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-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"><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-687">\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-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"><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-688">\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">
-<h5><span class="secno">4.6.2.4 </span>Impossibility constraints</h5>
-
-<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-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"><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-689">\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-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"><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-690">\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-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"><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-691">\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-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><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-692">wasDerivedFrom</script> only allows formulas to hold when either all three
-  of <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>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-693">a,g,u</script> are <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"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-694">-</script> (denoting <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></math></span></span></span><script type="math/tex" id="MathJax-Element-695">\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-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>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-696">\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-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"><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-697">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-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"><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-698">r</script>  and  <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"><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-699">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-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"><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-700">r</script>  and  <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"><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-701">s</script> are different relation names, the following constraint holds:</p><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>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-702">\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
-  interactions 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-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"><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-703">p \in \{entity,activity,agent\}</script>  and each <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"><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-704">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-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><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-705">\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 interactions 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-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>.</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-706">\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-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>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-707">\begin{array}[t]{l}
-\forall c,e.~
-\\
-\qquad hasMember(c,e) \wedge typeOf(c,EmptyCollection)
-\\
-\quad\Rightarrow
-False
-\end{array}</script></div>
-
-</section>
-</section>
-</section>
-
-
-<section id="soundness">
-<h3><span class="secno">4.7 </span>Soundness</h3>
-
-<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.  
-Our main observation is:</p>
-
-<div class="theorem" id="soundness-theorem" data-count="33" data-title="Theorem 33 (soundness-theorem)"><div class="ruleTitle"><a class="internalDFN" href="#soundness-theorem">Theorem 33 (soundness-theorem)</a></div>
-  <ol>
-  <li>If <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-708">I</script> is an instance and <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"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-709">W \models I</script> and <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"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-710">I'</script> is obtained from <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-711">I</script> by applying one
-  of the PROV inferences, then <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><mo stretchy="false">⊨</mo><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-712">W \models I'</script>.</li>
-  <li>If <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-713">I</script> is an instance and <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><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-714">W \models I</script> then <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-715">I</script> has a normal
-  form <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"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-716">I'</script> and   <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"><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-717"> W \models I'</script>.</li>
-  <li>If <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-718">I</script> is a normal form and <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"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-719">W \models I</script> then <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-720">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-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"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-721">W \models I</script> then <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-722">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-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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-723">I</script> is in normal form them we are
-  done. If <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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-724">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-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"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-725">W \models I</script> the uniqueness constraint cannot
-  fail on <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-726">I</script> and <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"><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-727">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-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"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-728">W \models I</script>.  Then <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"><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-729">W \models I'</script> where <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"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-730">I'</script> is the normal
-  form of <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-731">I</script> by part 2.  By part 3, <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"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-732">I'</script> satisfies all of the
-  remaining constraints, so <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"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-733">I</script> is valid.</p>
-  </div>
-
-<section id="syntactic">
-  <h4><span class="secno">4.7.1 </span>Syntactic Models and Completeness</h4>
-
-  <p>In this section we relate PROV instances and validation as
-  specified in PROV-CONSTRAINTS to certain models, which we call
-  <dfn id="dfn-syntactic-models">syntactic models</dfn>.  We will show that valid PROV instances
-  correspond to syntactic models of the first-order theory of
-  PROV.</p>
-
-  <div class="note"><div class="note-title"><span>Note</span></div><div class="">
-    Explain how to translate PROV formulas to purely relational
-    formulas.
-  </div></div>
-  </section>
-  
-</section>
-
-<section class="appendix" id="acknowledgements"> 
-      <h3><span class="secno">4.8 </span>Acknowledgements</h3> 
-      <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><section id="references" class="appendix"><!--OddPage--><h2><span class="secno">A. </span>References</h2><section id="informative-references"><h3><span class="secno">A.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/WD-prov-aq-20130312/"><cite>Provenance Access and Query</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">http://www.w3.org/TR/2013/WD-prov-aq-20130312/</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/PR-prov-constraints-20130312/"><cite>Constraints of the PROV Data Model</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">http://www.w3.org/TR/2013/PR-prov-constraints-20130312/</a>
-</dd><dt id="bib-PROV-DC">[PROV-DC]</dt><dd>Daniel Garijo; Kai Eckert; eds. <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><cite>Dublin Core to PROV Mapping</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">http://www.w3.org/TR/2013/WD-prov-dc-20130312/</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/WD-prov-dictionary-20130312/"><cite>PROV Dictionary</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/</a>
-</dd><dt id="bib-PROV-DM">[PROV-DM]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><cite>PROV-DM: The PROV Data Model</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">http://www.w3.org/TR/2013/PR-prov-dm-20130312/</a>
-</dd><dt id="bib-PROV-LINKS">[PROV-LINKS]</dt><dd>Luc Moreau; Timothy Lebo; eds. <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/"><cite>Linking Across Provenance Bundles</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">http://www.w3.org/TR/2013/WD-prov-links-20130312/</a>
-</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/"><cite>PROV-N: The Provenance Notation</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">http://www.w3.org/TR/2013/PR-prov-n-20130312/</a>
-</dd><dt id="bib-PROV-O">[PROV-O]</dt><dd>Timothy Lebo; Satya Sahoo; Deborah McGuinness; eds. <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/"><cite>PROV-O: The PROV Ontology</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">http://www.w3.org/TR/2013/PR-prov-o-20130312/</a>
-</dd><dt id="bib-PROV-OVERVIEW">[PROV-OVERVIEW]</dt><dd>Paul Groth; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><cite>PROV-OVERVIEW: An Overview of the PROV Family of Documents</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">http://www.w3.org/TR/2013/WD-prov-overview-20130312/</a>
-</dd><dt id="bib-PROV-PRIMER">[PROV-PRIMER]</dt><dd>Yolanda Gil; Simon Miles; eds. <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/"><cite>PROV Model Primer</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">http://www.w3.org/TR/2013/WD-prov-primer-20130312/</a>
-</dd><dt id="bib-PROV-XML">[PROV-XML]</dt><dd>Hook Hua; Curt Tilmes; Stephan Zednik; eds. <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><cite>PROV-XML: The PROV XML Schema</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">http://www.w3.org/TR/2013/WD-prov-xml-20130312/</a>
-</dd></dl></section></section></body></html>
\ No newline at end of file