* fixing compliance
authorjcheney@inf.ed.ac.uk
Thu, 28 Feb 2013 17:51:30 +0000
changeset 5805 c67ff96a64ef
parent 5804 f525c54e1d40
child 5806 8016c1939a67
* fixing compliance
semantics/prov-sem-math-test.html
semantics/prov-sem.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/semantics/prov-sem-math-test.html	Thu Feb 28 17:51:30 2013 +0000
@@ -0,0 +1,3109 @@
+<!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;
+}
+
+.formalism {
+    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 solid #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;
+}
+
+
+
+/* .inference[id]::before { */
+/*     content:    "Inference: " attr(id); */
+/*     width:  380px;  /\* How can we compute the length of "Constraint: " attr(id) *\/ */
+/* } */
+
+
+/* .inference::before { */
+/*     content:    "Inference"; */
+/*     display:    block; */
+/*     width:  150px; */
+/*     margin: -1.5em 0 0.5em 0; */
+/*     font-weight:    bold; */
+/*     border: 1px solid #f00; */
+/*     background: #fff; */
+/*     padding:    3px 1em; */
+/* } */
+
+.syntax {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #fff;
+}
+
+.syntax[id]::before {
+    content:    "Syntax: " attr(id);
+    width:  380px;  /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.syntax::before {
+    content:    "Syntax";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.unamedconstraint {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+
+.unamedconstraint::before {
+    content:    "Constraint";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #00f;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+
+
+.constraint {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+.constraint-example {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+/* .constraint[id]::before { */
+/*     content:    "Constraint: " attr(id); */
+/*     width:  380px;  /\* How can we compute the length of "Constraint: " attr(id) *\/ */
+/* } */
+
+
+/* .constraint::before { */
+/*     content:    "Constraint"; */
+/*     display:    block; */
+/*     width:  150px; */
+/*     margin: -1.5em 0 0.5em 0; */
+/*     font-weight:    bold; */
+/*     border: 1px solid #00f; */
+/*     background: #fff; */
+/*     padding:    3px 1em; */
+/* } */
+
+
+
+.interpretation {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+.interpretation[id]::before {
+    content:    "Interpretation: " attr(id);
+    width:  380px;  /* How can we compute the length of "Interpretation: " attr(id) */
+}
+
+
+.interpretation::before {
+    content:    "Interpretation";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #00f;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.definition {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #777;
+    background: #fff;
+}
+
+.definition-example {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #777;
+    background: #fff;
+}
+
+/* .definition[id]::before { */
+/*     content:    "Definition: " attr(id); */
+/*     width:  380px;  */
+/* } */
+
+
+/* .definition::before { */
+/*     content:    "Definition"; */
+/*     display:    block; */
+/*     width:  150px; */
+/*     margin: -1.5em 0 0.5em 0; */
+/*     font-weight:    bold; */
+/*     border: 1px solid #000; */
+/*     background: #fff; */
+/*     padding:    3px 1em; */
+/* } */
+
+
+.deprecatedconstraint {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+.deprecatedconstraint[id]::before {
+    content:    "Deprecated: " attr(id);
+    width:  380px;  /* How can we compute the length of "Deprecatedconstraint: " attr(id) */
+}
+
+
+.deprecatedconstraint::before {
+    content:    "Deprecated";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #00f;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.glossary-ref {
+    font-style:    italic;
+}
+
+.dfn {
+    font-weight:    bold;
+}
+
+
+.attribute {
+    font-style: italic;
+}
+
+
+.conditional {
+    color: blue;
+}
+
+.grammar {
+    margin-top: 1ex;
+    margin-bottom: 1ex;
+    padding-left: 1ex;
+    padding-right: 1ex;
+    padding-top: 1ex;
+    padding-bottom: 0.6ex;
+    border: 1px dashed #2f6fab;
+    font-size: 95%;
+}
+.nonterminal {
+    font-weight: bold;
+    font-family: sans-serif;
+    font-size: 95%;
+}
+
+.name {
+    font-family: monospace;
+}
+
+.math {
+    font-family: roman;
+    font-style:italic;
+}
+
+
+.xmpl {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #fff;
+}
+
+.xmpl::before {
+    content:    "Example";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+/*
+.anexample[count]::before {
+    content: "Example " attr(count) ;
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+
+.anexample:before {
+    content: "Example:";
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+
+*/
+
+.anexample {
+    margin-top: 1ex;
+    margin-bottom: 1ex;
+    padding-left: 1ex;
+    padding-right: 1ex;
+    padding-top: 1ex;
+    padding-bottom: 0.6ex;
+    border: 1px dashed #2f6fab;
+    background-color: #f9f9f9;
+}
+.anexample table {
+    background-color: #f9f9f9;
+}
+
+.conceptexample:before {
+    content: "Example:";
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+.conceptexample {
+    margin-top: 1ex;
+    margin-bottom: 1ex;
+    padding-left: 1ex;
+    padding-right: 1ex;
+    padding-top: 1ex;
+    padding-bottom: 0.6ex;
+    border: 1px dashed #2f6fab;
+    background-color: #f9f9f9;
+}
+
+.pnExpression {
+    font-weight: normal;
+    font-size:120%;
+    font-family: monospace;
+}
+
+
+div[class="grammar"] span[class="name"]:before {
+    content: "'";
+}
+
+div[class="grammar"] span[class="name"]:after {
+    content: "'";
+}
+
+
+div[class="grammar"] span[class="optional"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="optional"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")?";
+}
+
+
+div[class="grammar"] span[class="plus"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="plus"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")+";
+}
+
+
+div[class="grammar"] span[class="star"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="star"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")*";
+}
+
+div[class="grammar"] span[class="choice"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="choice"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")";
+}
+
+div[class="grammar"] span[class="group"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="group"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")";
+}
+
+table {
+    background-color: #f9f9f9;
+}
+
+.component1-color {
+ background-color: rgba(255,42,42,0.2);
+}
+
+.component2-color {
+ background-color: rgba(0,68,170,0.2);
+}
+
+.component3-color {
+ background-color: rgba(0,170,0,0.2);
+}
+.component4-color {
+ background-color: rgba(204,255,0,0.2);
+}
+
+.component5-color {
+ background-color: rgba(11,40,40,0.2);
+}
+
+.component6-color {
+ background-color: rgba(244,105,14,0.2);
+}
+
+.interpretation-forward::before {
+    content:    "Interpretation: ";
+    font-weight:    bold;
+}
+
+.structural-forward::before {
+    content:    "Structural constraint: ";
+    font-weight:    bold;
+}
+
+
+code {
+    color:  black;
+}
+
+.ruleTitle {
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+
+
+
+
+.remark {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px dashed #000;
+    background: #F0F0F0;
+}
+
+.remark::before {
+    content:    "Remark";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #000;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+table.thinborder {
+	border-width: 1px;
+	border-spacing: 0px;
+	border-style: none;
+	border-color: gray;
+	border-collapse: collapse;
+}
+table.thinborder th {
+	border-width: 1px;
+	padding: 0px;
+	border-style: solid;
+	border-color: gray;
+}
+table.thinborder td {
+	border-width: 1px;
+	padding: 2px;
+	border-style: solid;
+	border-color: gray;
+}
+
+
+     </style>
+
+<!--    <script src="https://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script>  -->
+
+
+
+     
+    
+
+<!-- <script type="text/javascript" class="remove"
+            src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
+    </script> -->
+
+
+  
+    
+
+     
+  <style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
+.MathJax_Hover_Arrow {position: absolute; width: 15px; height: 11px; cursor: pointer}
+</style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
+.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 5px 0px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -khtml-border-radius: 5px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
+.MathJax_MenuItem {padding: 1px 2em; background: transparent}
+.MathJax_MenuTitle {background-color: #CCCCCC; margin: -5px 0 0 0; text-align: center; font-style: italic; font-size: 80%; color: #444444; padding: 2px 0; overflow: hidden}
+.MathJax_MenuArrow {position: absolute; right: .5em; color: #666666}
+.MathJax_MenuActive .MathJax_MenuArrow {color: white}
+.MathJax_MenuCheck {position: absolute; left: .7em}
+.MathJax_MenuRadioCheck {position: absolute; left: .7em}
+.MathJax_MenuLabel {padding: 1px 2em 3px 1.33em; font-style: italic}
+.MathJax_MenuRule {border-top: 1px solid #DDDDDD; margin: 4px 3px}
+.MathJax_MenuDisabled {color: GrayText}
+.MathJax_MenuActive {background-color: #606872; color: white}
+.MathJax_Menu_Close {position: absolute; width: 31px; height: 31px; top: -15px; left: -15px}
+</style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
+#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
+#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
+</style><style type="text/css">.MathJax_Preview {color: #888}
+#MathJax_Message {position: fixed; left: 1px; bottom: 2px; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
+#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
+.MathJax_Error {color: #CC0000; font-style: italic}
+</style><style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 { 
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+cite .bibref {
+    font-style: normal;
+}
+
+code {
+    color:  #ff4500;
+}
+
+
+/* --- --- */
+ol.algorithm { counter-reset:numsection; list-style-type: none; }
+ol.algorithm li { margin: 0.5em 0; }
+ol.algorithm li:before { font-weight: bold; counter-increment: numsection; content: counters(numsection, ".") ") "; }
+
+/* --- TOC --- */
+.toc a, .tof a {
+    text-decoration:    none;
+}
+
+a .secno, a .figno {
+    color:  #000;
+}
+
+ul.tof, ol.tof {
+    list-style: none outside none;
+}
+
+.caption {
+    margin-top: 0.5em;
+    font-style:   italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+</style><style>/* --- ISSUES/NOTES --- */
+div.issue-title, div.note-title {
+    padding-right:  1em;
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.issue-title { color: #e05252; }
+div.note-title { color: #52e052; }
+div.issue-title span, div.note-title span {
+    text-transform: uppercase;
+}
+div.note, div.issue {
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+.note > p:first-child, .issue > p:first-child { margin-top: 0 }
+.issue, .note {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+}
+div.issue, div.note {
+    padding: 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+span.note, span.issue { padding: .1em .5em .15em; }
+
+.issue {
+    border-color: #e05252;
+    background: #fbe9e9;
+}
+.note {
+    border-color: #52e052;
+    background: #e9fbe9;
+}
+
+
+</style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-ED"><style type="text/css">DIV.MathJax_MathML {text-align: center; margin: .75em 0px}
+.MathJax_MathML {font-style: normal; font-weight: normal; line-height: normal; font-size: 100%; font-size-adjust: none; text-indent: 0; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; direction: ltr; border: 0; padding: 0; margin: 0}
+span.MathJax_MathML {display: inline}
+div.MathJax_MathML {display: block}
+.MathJax_mmlExBox {display: block; overflow: hidden; height: 1px; width: 60ex; padding: 0; border: 0; margin: 0}
+</style><!--[if lt IE 9]><script src='http://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head> 
+  <body><div class="head">
+  <p>
+    
+      <a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+    
+  </p>
+  <h1 class="title" id="title">Semantics of the PROV Data Model</h1>
+  
+  <h2 id="w3c-editor-s-draft-28-february-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft 28 February 2013</h2>
+  <dl>
+    
+      <dt>This version:</dt>
+      <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html">http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html</a></dd>
+      <dt>Latest published version:</dt>
+      <dd><a href="http://www.w3.org/TR/prov-sem/">http://www.w3.org/TR/prov-sem/</a></dd>
+    
+    
+      <dt>Latest editor's draft:</dt>
+      <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html">http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html</a></dd>
+    
+    
+    
+    
+      
+    
+    
+    
+    <dt>Editor:</dt>
+    <dd><a href="http://homepages.inf.ed.ac.uk/jcheney">James Cheney</a>, University of Edinburgh</dd>
+
+    
+  </dl>
+  
+  
+  
+  
+    
+      <p class="copyright">
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 
+        2012-2013
+        
+        <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> 
+        (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+        <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+        <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved.
+        <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+        <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+      </p>
+    
+  
+  <hr>
+</div><div id="MathJax_Message" style="display: none; "></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-reference-semantics">reference 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 reference 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 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  (this document);</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note),  an XML schema for the PROV data model [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>]; </li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [<cite><a class="bibref" href="#bib-PROV-DC">PROV-DC</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/">PROV-SEM</a> (To be published as Note), a declarative specification in terms of first-order logic of the PROV data model [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles [<cite><a class="bibref" href="#bib-PROV-LINKS">PROV-LINKS</a></cite>].</li>
+</ul>
+
+
+        <p>
+          This document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as an Editor's Draft.
+          
+          
+          If you wish to make comments regarding this document, please send them to 
+          <a href="mailto:[email protected]">[email protected]</a> 
+          (<a href="mailto:[email protected]?subject=subscribe">subscribe</a>,
+          <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>).
+          
+          
+          
+          
+        All comments are welcome.
+        
+        
+          </p><p>
+            Publication as an Editor's Draft does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+            This is a draft document and may be updated, replaced or obsoleted by other documents at 
+            any time. It is inappropriate to cite this document as other than work in progress.
+          </p>
+        
+        
+        <p>
+          
+            This document was produced by a group operating under the 
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+          
+          
+          
+            
+              <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a> 
+            
+            made in connection with the deliverables of the group; that page also includes instructions for 
+            disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
+            information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+            6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+          
+          
+        </p>
+        
+      
+    
+  
+</section><section id="toc"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><ul class="toc"><li class="tocline"><a href="#purpose" class="tocxref"><span class="secno">1.1 </span>Purpose of this document</a></li><li class="tocline"><a href="#structure-of-this-document" class="tocxref"><span class="secno">1.2 </span>Structure of this document</a></li><li class="tocline"><a href="#audience" class="tocxref"><span class="secno">1.3 </span> Audience </a></li></ul></li><li class="tocline"><a href="#basics" class="tocxref"><span class="secno">2. </span> Basics </a><ul class="toc"><li class="tocline"><a href="#identifiers" class="tocxref"><span class="secno">2.1 </span> Identifiers </a></li><li class="tocline"><a href="#times-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="#actvities" class="tocxref"><span class="secno">3.2.2 </span> Actvities </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="#responsibility" class="tocxref"><span class="secno">4.4.9 </span> Responsibility </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></li><li class="tocline"><a href="#typeof" class="tocxref"><span class="secno">4.5.4 </span>typeOf</a></li></ul></li></ul></li><li class="tocline"><a href="#theory" class="tocxref"><span class="secno">5. </span> Inferences and Constraints </a><ul class="toc"><li class="tocline"><a href="#inferences" class="tocxref"><span class="secno">5.1 </span>Inferences</a></li><li class="tocline"><a href="#constraints" class="tocxref"><span class="secno">5.2 </span>Constraints</a><ul class="toc"><li class="tocline"><a href="#uniqueness-constraints" class="tocxref"><span class="secno">5.2.1 </span>Uniqueness constraints</a></li><li class="tocline"><a href="#ordering-constraints" class="tocxref"><span class="secno">5.2.2 </span>Ordering constraints</a></li><li class="tocline"><a href="#typing-constraints" class="tocxref"><span class="secno">5.2.3 </span>Typing constraints</a></li><li class="tocline"><a href="#impossibility-constraints" class="tocxref"><span class="secno">5.2.4 </span>Impossibility constraints</a></li></ul></li></ul></li><li class="tocline"><a href="#soundness" class="tocxref"><span class="secno">6. </span>Soundness</a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.1 </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+
+
+
+    <section id="introduction"> 
+      <!--OddPage--><h2><span class="secno">1. </span>Introduction</h2> 
+
+<p>
+Provenance is a record that describes the people, institutions, entities, and activities involved in producing, influencing, or delivering a piece of data or a thing.
+This document complements
+  the PROV-DM specification [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] that defines a data model for
+  provenance on the Web, and the PROV-CONSTRAINTS specification
+[<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>] that
+specifies definitions, inferences, and constraints that can be used to
+reason about PROV documents, or determine their validity.  This document
+provides a reference 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 a <b>reference</b>
+semantics for PROV, not a definitive specification of the  <b>only</b>
+semantics of PROV.  </p>
+
+<p> Nevertheless, the reference semantics does have 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
+reference semantics, this document shows that the operational
+presentation of PROV validity checking is sound with respect to
+declarative presentation adopted here.  This could help justify
+alternative approaches to validity checking.</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> relates the PROV notion of
+  validity to the logical notion of consistency.  A PROV instance is
+  valid if and only if its corresponding first-order theory is
+  satisfiable.</li>
+</ul>
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">
+  Completeness direction above doesn't hold for current semantics,
+  because attributes assumed to be single-valued; for
+  example, <span class="MathJax_Preview">entity(id,[a=1,a=2])</span><script type="math/tex" id="MathJax-Element-3">entity(id,[a=1,a=2])</script> is valid but doesn't have a
+  reference model.
+  </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-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><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-4">x,y,...</script> on its own denotes an identifier.
+Identifiers may or may not be URIs.  Identifiers are viewed as variables in logic (or blank nodes in RDF): just because we have two different identifiers <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-5">x</script> and <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>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-6">y</script> doesn't tell us that they denote different things, 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-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"><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-7">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-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"><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-8">(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>
+<p>We also consider a set <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"><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-9">Intervals</script> of closed intervals of the form <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"><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-10">\{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-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>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-11">Attributes</script> of attribute labels and a 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>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-12">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-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>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-13">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-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> instead of the semicolon notation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-15-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-15">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 "-".  Null symbols can only appear in the specified arguments in <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>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-16">wasAssociatedWith</script> and <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>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-17">wasDerivedFrom</script>, as shown in the grammar below.
+</p>
+<span class="MathJax_Preview"></span><div 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" 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>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>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>p</mi><mi>r</mi><mi>o</mi><mi>v</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></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><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></mtd></mtr></mtable></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-18">
+\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,attrs)\\
+          & |&  wasEndedBy(id,a_2,e,a_1,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\\
+&|& prov:Collection\\
+&|& prov:EmptyCollection
+\end{array}
+</script>
+
+</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-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" 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-19">
+\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: Containment of things / collections? (for hadMember).</div></div>
+<p><em>Things</em> are things in the world.  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-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"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-20">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-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>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-21">Things</script> of things</li>
+  <li> a function <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>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-22">lifetime : Things \to Intervals</script> from objects to time intervals</li>
+  <li>a function <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>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-23">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-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>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-24">value</script> is the set <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>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-25">P(Values)</script>, indicating that <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>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-26">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-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>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-27">value(x,a,t) =
+\emptyset</script>, we say that attribute <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-28">a</script> is undefined for <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-29">x</script> at time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-30-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-30">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-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>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-31">Thing</script> is, only how it may be described in terms of its time interval
+and attribute values.  An object could just 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-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 mathvariant="italic">π</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-32">\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-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>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-33">Thing</script> to its time interval and attribute mapping.
+</p>
+
+
+<p>It is possible for two Things to be indistinguishable by their attribute values and lifetime, but have different identity.
+</p>
+
+
+</section>
+
+<section id="objects-1">
+<h3><span class="secno">3.2 </span> Objects </h3>
+
+<p>
+An <em>Object</em> is described by a time interval and attributes with unchanging values.  Objects encompass entities, interactions, and activities.
+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-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>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-34">Objects</script> 
+</li><li> a function <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>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-35">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-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>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-36">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-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>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-37">lifetime(e)</script> is the time interval during which object
+<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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-38">e</script> exists.  The set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-39-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-39">value(e,a)</script> is the set of values of attribute <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-40">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-41-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-41">value</script> is sets of values,
+making <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-42-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-42">value</script> 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-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>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-43">Objects</script> and <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><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-44">Things</script> are disjoint; however, certain objects, namely entities, are linked to things.
+
+</p>
+<section id="entities-1">
+<h4><span class="secno">3.2.1 </span> Entities </h4>
+
+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:
+
+<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-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>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-45">Entities \subseteq Objects</script> of entities, disjoint from <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-46-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><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-46">Activities</script> and <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>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-47">Events</script> below.
+</li><li> a function <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><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-48">thingOf : Entities \to Things</script> that associates each <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>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-49">Entity</script> with a <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-50-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-50">Thing</script>, such that for each <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><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-51">t \in lifetime(obj)</script>, and for each attribute <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-52">a</script> we have <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>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-53">value(obj,a) \subseteq value(thingOf(obj),a,t)</script>.
+</li><li> <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>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-54">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-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>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-55">value(x,a,t) = \emptyset</script> means that the
+  attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-56-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-56">a</script> has no value at time <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-57">t</script>, whereas for an entity,
+  <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>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-58">value(x,a) = \emptyset</script> only means that the entity does not record
+  a fixed value for <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-59">a</script> forthe associated thing.  This does not imply
+  that <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>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-60">value(thingOf(e),a,t) = \emptyset</script> when <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>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-61">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-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>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-62">value(thingOf(e),a,t)</script> is <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"><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-63">\{1\}</script> at some
+time in <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>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-64">lifetime(e)</script> and <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><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-65">value(thingOf(e),a,t') = \{2\}</script> at some
+  other time <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"><msup><mi>t</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-66">t'</script>.  Then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-67-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-67">value(e,a)</script> must be <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 mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-68">\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-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"><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-69">\{1\}</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"><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-70">\{2\}</script>.
+</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-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>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-71">Plans \subseteq Entities</script> of plans.</p>
+  </div>
+</section>
+
+  </section>
+
+    <section id="actvities">
+<h4><span class="secno">3.2.2 </span> Actvities </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-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>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-72">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-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>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-73">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.  Agents can act on behalf of
+  other agents. An agent can be an entity, an activity, or neither; 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-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>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-74">Agents \subseteq Objects</script> of agents.</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-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>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-75">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.  (The first two sets may overlap.)  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-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>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-76">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-77-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>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>v</mi><mi>e</mi><mi>r</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-77">type: Interactions \to
+  \{start,end,usage,generation,invalidation,derivation,version,quotation,primarySource,attribution,delegation\}</script>.
+</li>
+<li> The sets <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>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-78">Events</script>, <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>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-79">Associations</script>, <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>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-80">Communications</script>, <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>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-81">Delegations</script>
+  and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-82-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-82">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-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>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-83">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-84-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>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-84">Events \subseteq Interactions</script> of events, such that
+  <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><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-85">type(evt) \in \{start,end,generation,usage,invalidation\}</script> if and
+  only of <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>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-86">evt \in Events</script>.
+</li><li> A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-87-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><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-87">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-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>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>t</mi><mo stretchy="false">)</mo><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-88">lifetime(evt) = \{time(t)\}</script>.
+</li><li> The derived ordering on events given by <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>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-89">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-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>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-90">Associations \subseteq Interactions</script>, such that
+  <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><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-91">type(assoc) = association</script> if and only if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-92-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><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-92">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-93-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-93">ActsFor</script> and <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>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-94">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-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>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-95">Derivations \subseteq Interactions</script>, such that
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-96-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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>v</mi><mi>e</mi><mi>r</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-96">type(deriv) \in \{derivation, version, primarySource,quotation\}</script>
+  if and only if <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>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-97">deriv \in Derivations</script>.
+</p></div>
+<p>See below for the associated derivation path and DerivedFrom relation.
+</p>
+</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-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>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-98">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-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 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-99">(evt,e)\in Used</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-100-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-100">time(evt) \in lifetime(e)</script> and <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>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">(</mo><mi>g</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-101">type(g) = use</script> must hold.
+</li><li> A relation <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>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-102">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-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"><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-103">(evt,e)\in Generated</script> then <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>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-104">min(lifetime(e)) = time(evt)</script> and <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>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-105">type(g) = generation</script> must hold.
+</li><li> A relation <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>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-106">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-107-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo 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-107">(evt,e)\in Invalidated</script> then <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>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-108">min(lifetime(e)) = time(evt)</script> and <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>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">(</mo><mi>g</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-109">type(g) = invalidation</script> must hold.
+</li><li> A relation <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>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-110">EventActivity \subseteq Events \times Activities</script> associating activities with events, such that <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"><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-111">(act,evt) \in EventActivity</script> implies <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>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-112">time(evt) \in lifetime(act)</script>.
+</li><li> A relation <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>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><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-113">AssociatedWith \subseteq Association \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-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>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-114">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: Explicit axioms concerning the relations
+  </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-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" 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-115">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-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>e</mi><mi>n</mi><msub><mi>t</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-116">ent_i</script> are entities, <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>a</mi><mi>c</mi><msub><mi>t</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-117">act_i</script> are activities, <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"><msub><mi>g</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-118">g_i</script> are generations, and <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"><msub><mi>u</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-119">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-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" 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-120">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-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><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-121">ent\cdot g \cdot act</script> we have <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"><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-122">(g,ent) \in Generated</script>  and <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"><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>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-123">(g,act) \in EventActivities</script>, and
+</li>
+<li>for each substring <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-124-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><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-124">act \cdot u \cdot ent</script> we have <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"><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-125">(u,ent) \in Used</script> and <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"><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>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-126">(u,act) \in EventActivities</script>.
+</li>
+</ul>
+<p>We also consider a function <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>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><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-127">derivedFrom : Derivations \to
+DerivationPaths</script>  linking each derivation to its path.</p>
+
+
+<div class="remark">The reason why we need paths and not just individual derivation steps is that imprecise wasDerivedFrom 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-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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-128">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-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"><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-129">W_1.Objects</script>, <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"><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-130">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>
+
+</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-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 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-131">\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-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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-132">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-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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-133">I</script> be an interpretation of identifiers as objects in <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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-134">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-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 mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-135">\phi</script>, a structure <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>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-136">W</script> and an interpretation
+ <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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-137">I</script>.
+We define notation <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>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-138">W,\rho \models \phi</script> which means 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 mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-139">\phi</script> is
+ satisfied in <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>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-140">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="formalism" id="first-order-logic" data-count="11" data-title="Formalism 11 (first-order-logic)"><div class="ruleTitle"><a class="internalDFN" href="#first-order-logic">Formalism 11 (first-order-logic)</a></div>
+<ol>
+  <li><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>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-141">W,\rho \models True</script> always holds.</li>
+  <li><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>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-142">W,\rho \models False</script> never holds.</li>
+  <li><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>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-143">W,\rho \models \neg \phi</script> holds if and only if <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>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-144">W,\rho \models
+  \phi</script> does not hold.</li>
+  <li><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>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-145">W,\rho \models \phi \wedge \psi</script> holds if and only if <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>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-146">W,\rho \models
+  \phi</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-147-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-147">W,i\models \psi</script>.</li>
+  <li><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>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-148">W,\rho \models \phi \vee \psi</script> holds if either <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>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-149">W,\rho \models \phi</script>
+  or <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>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-150">W,\rho \models \psi</script> holds.</li>
+  <li><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"><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-151">W,\rho \models \phi \Rightarrow \psi</script> holds if <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>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-152">W,\rho \models \phi</script>
+  implies <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>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-153">W,\rho \models \psi</script>.</li>
+  <li><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>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-154">W,\rho \models \exists x. \phi</script> holds if there exists some <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-155-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-155">obj \in
+  Objects</script> such that <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>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-156">W,\rho[x:=obj] \models \phi</script>.</li>
+  <li><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>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-157">W,\rho \models \forall x. \phi</script> holds if there for every <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>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-158">obj \in
+  Objects</script> we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-159-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-159">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-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>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-160">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-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>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-161">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-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>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-162">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-163-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-163">I</script> as a set of atomic formulas <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"><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-164">\{\phi_1,\ldots,\phi_n\}</script>, or equivalently a
+    single formula <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 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-165">\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-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>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-166">x_1,\ldots,x_k</script> are the existential
+    variables of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-167-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-167">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-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"><mi>o</mi><mi>b</mi><mi>j</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-168">obj</script> matches attributes <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"><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-169">[attr_1=val_1,...]</script> in structure <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"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-170">W</script> provided:
+for each attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-171-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-171">attr_i</script>, we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-172-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-172">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-173-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-173">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-174-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-174">entity(id,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-175">id</script> denotes an entity.
+</p>
+<p>Entity formulas <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>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-176">entity(id,attrs)</script> can be interpreted as follows:
+</p>
+<div class="formalism" id="rule_12" data-count="12" data-title="Formalism 12 (rule_12)"><div class="ruleTitle"><a class="internalDFN" href="#rule_12">Formalism 12 (rule_12)</a></div>
+ <p><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>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-177">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-178">id</script> denotes an entity <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"><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-179">ent = \rho(id) \in Entities</script>
+</li>
+<li>the attributes match: <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"><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-180">match(W,ent, attrs)</script>.
+</li>
+</ol>
+
+
+</div>
+<div class="remark">
+<p>For example, the following formulas all hold if <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-181">x</script> denotes an entity <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-182">e</script> such that <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>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-183">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-184-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-184">activity(id,st,et,attrs)</script>
+where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-185-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-185">id</script> is a identifier referring to the activity, <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>s</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-186">st</script> is a start
+time and <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>e</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-187">et</script> is an end time, and <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>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-188">attrs</script> are the attributes of
+activity <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-189">id</script>.
+</p>
+<div class="formalism" id="rule_13" data-count="13" data-title="Formalism 13 (rule_13)"><div class="ruleTitle"><a class="internalDFN" href="#rule_13">Formalism 13 (rule_13)</a></div>
+  <p><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>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-190">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-191">id</script> maps to an activity <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>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-192">act = \rho(id) \in Activities</script>
+</li>
+<li>If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-193-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-193">st</script> is specified then it is equal to the start time of the activity, that is: <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>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>s</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-194">min(lifetime(id)) = st</script>
+</li>
+<li>If <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>e</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-195">et</script> is specified then it is equal to the end time of the activity, that is: <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>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>e</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-196">max(lifetime(id)) = et</script>
+</li>
+<li>The attributes match: <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>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-197">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-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>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-198">agent(id,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-199">id</script> denotes the agent and <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>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-200">attrs</script> describes additional attributes.
+</p>
+<div class="formalism" id="rule_14" data-count="14" data-title="Formalism 14 (rule_14)"><div class="ruleTitle"><a class="internalDFN" href="#rule_14">Formalism 14 (rule_14)</a></div>
+  <p><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>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-201">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-202">id</script> denotes an agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-203-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>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-203">ag = \rho(id) \in Agents</script>
+    </li>
+    <li>The attributes match: <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>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-204">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-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><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-205">wasGeneratedBy(id,e,a,t,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-206">id</script> is an event identifier,
+<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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-207">e</script> is an entity identifier, <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-208">a</script> is an activity identifier, <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>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-209">attrs</script> is
+a set of attribute-value pairs, and <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-210">t</script> is a time.
+</p>
+<div class="formalism" id="rule_15" data-count="15" data-title="Formalism 15 (rule_15)"><div class="ruleTitle"><a class="internalDFN" href="#rule_15">Formalism 15 (rule_15)</a></div>
+ <p><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>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-211">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-212">id</script> denotes an event <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>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-213">evt = \rho(id) \in Events</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-214-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-214">e</script> denotes an entity <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>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-215">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] The identifier <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-216">a</script> denotes an activity <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>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-217">act = \rho(a) \in Activities</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-218">evt</script> is involved in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-219-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-219">act</script>, that is, <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"><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>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-220">(evt,act) \in EventActivities</script>.
+</li>
+<li>The type of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-221-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-221">evt</script> is <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>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-222">generation</script>, i.e. <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>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-223">type(evt) = generation</script>.
+</li>
+<li>The event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-224-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-224">evt</script> occurred at time <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-225">t</script>, i.e. <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>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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-226">time(evt) = t</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-227">evt</script> generated <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>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-228">ent</script>, i.e. <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"><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-229">(evt,ent) \in Generated</script>.
+</li>
+<li>The attribute values match: <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>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-230">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-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>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-231">used(id,a,e,t,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-232">id</script> denotes an event, <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-233">a</script> is an activity identifier, <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></math></span></span></span><script type="math/tex" id="MathJax-Element-234">e</script> is an object identifier, <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>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-235">attrs</script> is a set of attribute-value pairs, and <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-236">t</script> is an optional time.
+</p>
+<div class="formalism" id="rule_16" data-count="16" data-title="Formalism 16 (rule_16)"><div class="ruleTitle"><a class="internalDFN" href="#rule_16">Formalism 16 (rule_16)</a></div>
+  <p><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>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-237">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-238">id</script> denotes an event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-239-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>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-239">evt = \rho(id) \in Events</script>.
+</li>
+<li>[WF] The identifier <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-240">a</script> denotes an 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>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-241">act = \rho(id) \in Activities</script>.
+</li>
+<li>[WF] The identifier <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></math></span></span></span><script type="math/tex" id="MathJax-Element-242">e</script> denotes an entity <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>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-243">ent = \rho(e) \in Entities</script>.
+</li>
+<li>The event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-244-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-244">evt</script> is part of <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>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-245">act</script>, i.e. <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"><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>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-246">(evt,act) \in EventActivities</script>.
+</li>
+<li>The type of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-247-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-247">evt</script> is <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>u</mi><mi>s</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-248">use</script>, i.e., <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>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-249">type(evt) = use</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-250">evt</script> occurred at time <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-251">t</script>, i.e. <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>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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-252">time(evt) = t</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-253">evt</script> used <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>o</mi><mi>b</mi><mi>j</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-254">obj</script>, i.e. <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"><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-255">(evt,ent) \in Used</script>.
+</li>
+<li>The attribute values match: <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>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-256">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-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>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-257">wasInvalidatedBy(id,e,a,t,attrs)</script> where <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-258">id</script> is an event identifier, <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-259">e</script> is an entity identifier, <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-260">a</script> is an activity identifier, <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>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-261">attrs</script> is a set of attribute-value pairs, and <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-262">t</script> is an optional time.</p>
+
+<div class="formalism" id="rule_17" data-count="17" data-title="Formalism 17 (rule_17)"><div class="ruleTitle"><a class="internalDFN" href="#rule_17">Formalism 17 (rule_17)</a></div> <p>An invaliation formula <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>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-263">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-264">id</script> denotes an event <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>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-265">evt = \rho(id) \in Events</script>.
+</li>
+<li>[WF] The identifier <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-266">e</script> denotes an entity <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>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-267">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] The identifier <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-268">a</script> denotes an activity <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>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-269">act = \rho(a) \in Activities</script>.
+</li>
+<li>The event <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>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-270">evt</script> is involved in <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><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-271">act</script>, that is, <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"><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>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-272">(evt,act) \in EventActivities</script>.
+</li>
+<li>The type of <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 <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>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-274">invalidation</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-275-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-275">type(evt) = invalidation</script>.
+</li>
+<li>The event <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> occurred at time <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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-277">t</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>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>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-278">time(evt) = t</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> invalidated <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>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-280">ent</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"><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-281">(evt,ent) \in Invalidated</script>.
+</li>
+<li>The attribute values match: <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>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-282">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-283-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><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-283">wasAssociatedWith(id,a,ag,pl,attrs)</script>.</p>
+
+<div class="formalism" id="rule_18" data-count="18" data-title="Formalism 18 (rule_18)"><div class="ruleTitle"><a class="internalDFN" href="#rule_18">Formalism 18 (rule_18)</a></div><p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-284-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>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-284">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-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>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-285">assoc</script> denotes an association <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>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-286">assoc = \rho(id) \in Associations</script>.
+</li>
+<li>[WF] <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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-287">a</script> denotes an activity <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><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-288">act = \rho(a) \in Activities</script>.
+</li>
+<li>[WF] <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>a</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-289">ag</script> denotes an agent <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>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-290">agent = \rho(ag) \in Agents</script>.
+</li>
+<li>[WF] <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>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-291">pl</script> is either the placeholder <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"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-292">-</script> or denotes a plan <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>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-293">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-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"><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-294">(assoc,agent,act,plan) \in AssociatedWith</script>.
+</li>
+<li>The attributes match: <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>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-295">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-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>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>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-296">wasStartedBy(id,a_2,e,a_1,attrs)</script> is interpreted as follows:</p>
+
+<div class="formalism" id="rule_19" data-count="19" data-title="Formalism 19 (rule_19)"><div class="ruleTitle"><a class="internalDFN" href="#rule_19">Formalism 19 (rule_19)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-297-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>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>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-297">W,\rho \models wasStartedBy(id,a_2,e,a_1,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-298">id</script> denotes an 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><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-299">evt = \rho(id) \in Events</script>.
+</li>
+<li>[WF] <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"><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-300">a_2</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-301-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-301">act_2 = \rho(a_2) \in Activities</script>.
+</li>
+<li>[WF] <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></math></span></span></span><script type="math/tex" id="MathJax-Element-302">e</script> denotes an entity <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>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-303">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-304-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-304">a_1</script> denotes an activity <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>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-305">act_1 = \rho(a_1) \in Activities</script>.
+</li>
+<li>The event <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>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-306">evt</script> has type <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>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-307">start</script>, i.e. <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>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-308">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-309-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-309">act_2</script>, that is, <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>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-310">(evt,act_2)
+  \in EventsActivities</script>, and <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>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-311">min(lifetime(act_2)) = time(evt)</script>.
+</li>
+<li>TODO: The entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-312-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-312">e</script> was generated by <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-313">act_1</script> and started <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-314">act_2</script>.
+</li><li>The event happened during <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><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-315">act_1</script>, that is, <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"><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-316">(evt,act_1)
+  \in EventsActivities</script>.
+</li>
+<li>The attributes match: <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>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-317">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-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><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>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">wasEndedBy(id,a_2,e,a_1,attrs)</script> is interpreted as follows:</p>
+
+<div class="formalism" id="rule_20" data-count="20" data-title="Formalism 20 (rule_20)"><div class="ruleTitle"><a class="internalDFN" href="#rule_20">Formalism 20 (rule_20)</a></div>
+<p>
+  <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>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>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-319">W,\rho \models wasEndedBy(id,a_2,e,a_1,attrs)</script> holds if and only
+  if:</p>
+  
+<ol>
+  <li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-320-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-320">id</script> denotes an event <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><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-321">evt = \rho(id) \in Events</script>.</li>
+<li> [WF] <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"><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-322">a_2</script> denotes an activity <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><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-323">act_2 = \rho(a_2)\in Activities</script>.</li>
+<li> [WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-324-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-324">e</script> denotes an entity <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>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-325">ent = \rho(e)\in Entities</script>.</li>
+<li>[WF] <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"><msub><mi>a</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-326">a_1</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-327-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-327">act_1 = \rho(a_1)\in Activities</script>.</li>
+<li>The event <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> has type <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-329-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-329">end</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>e</mi><mi>n</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-330">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-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>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-331">act_2</script>, that is, <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"><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-332">(evt,act_2)
+  \in EventsActivities</script>, and <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>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-333">max(lifetime(act_2)) = time(evt)</script>.</li>
+  <li>TODO: The entity <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></math></span></span></span><script type="math/tex" id="MathJax-Element-334">e</script> was generated by <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-335">act_1</script> and ended <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-336-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-336">act_2</script>.</li>
+
+<li>The event happened during <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>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-337">act_1</script>, that is, $(evt,act_1) \in EventActivities.</li>
+<li>The attributes match: <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>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-338">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-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><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-339">wasAttributedTo(id,e,ag,attrs)</script> is interpreted as follows:
+</p>
+<div class="formalism" id="rule_21" data-count="21" data-title="Formalism 21 (rule_21)"><div class="ruleTitle"><a class="internalDFN" href="#rule_21">Formalism 21 (rule_21)</a></div>
+  <p>
+  <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>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-340">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-341">id</script> denotes an association <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><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-342">assoc = \rho(id) \in Associations</script>.
+</li>
+<li>[WF] <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>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-343">e</script> denotes an entity <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>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-344">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] <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></math></span></span></span><script type="math/tex" id="MathJax-Element-345">ag</script> denotes an agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-346-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>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-346">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-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"><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-347">(assoc,ent,agent) \in AttributedTo</script>.
+</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-348-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-348">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="responsibility">
+
+<h4><span class="secno">4.4.9 </span> Responsibility </h4>
+
+<p>The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-349-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>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-349">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-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>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-350">ActsFor</script> relation as follows:</p>
+
+<div class="formalism" id="rule_22" data-count="22" data-title="Formalism 22 (rule_22)"><div class="ruleTitle"><a class="internalDFN" href="#rule_22">Formalism 22 (rule_22)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-351-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><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-351">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-352-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-352">id</script> denotes an association <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>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-353">deleg=\rho(id) \in Delegations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-354-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-354">a</script> denotes an activity <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>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-355">act=\rho(a) \in Activities</script>.
+</li>
+<li>[WF] <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><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-356">ag_1,ag_2</script> denote agents <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-357-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-357">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-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>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-358">agent_2</script> acts for the agent <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>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-359">agent_1</script> with respect to the activity <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>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-360">act</script>, i.e. <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"><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-361">(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-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>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-362">match(W,assoc,attrs)</script>.
+</li></ol></div>
+</section>
+
+
+<section id="derivation">
+
+<h4><span class="secno">4.4.10 </span> Derivation </h4>
+
+<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-363-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-363">wasDerivedFrom(id,e_2,e_1,a,g,u,attrs)</script>.
+</p>
+<div class="formalism" id="rule_23" data-count="23" data-title="Formalism 23 (rule_23)"><div class="ruleTitle"><a class="internalDFN" href="#rule_23">Formalism 23 (rule_23)</a></div>
+  <p><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>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-364">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-365">id</script> denotes a derivation <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>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-366">deriv = \rho(id) \in Derivations</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>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-367">e_1,e_2</script> denote entities <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-368-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><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-368">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-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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-369">a</script> denotes an activity <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>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-370">act = \rho(a) \in Activities</script>.
+</li>
+<li>[WF] <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>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-371">g</script> denotes a generation event <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>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-372">gen = \rho(g) \in Events</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-373-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-373">type(\rho(g)) = generation</script>.
+</li>
+<li>[WF] <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>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-374">u</script> denotes a use event <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 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-375">\rho(u) \in Events</script> and <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>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-376">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-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>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><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-377">derivedFrom(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-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>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-378">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-379-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-379">wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)</script>.</p>
+
+<div class="formalism" id="rule_24" data-count="24" data-title="Formalism 24 (rule_24)"><div class="ruleTitle"><a class="internalDFN" href="#rule_24">Formalism 24 (rule_24)</a></div>
+  <p><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>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-380">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-381">id</script> denotes a derivation <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>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-382">deriv = \rho(id) \in Derivations</script>
+</li>
+<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"><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-383">e_1,e_2</script> denote entities <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-384-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><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-384">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-385-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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><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-385">derivedFrom(deriv)= ent_2 \cdot  w \cdot ent_1</script> for some <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>w</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-386">w</script>
+</li>
+<li>The attribute values match: <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>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-387">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-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>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-388">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 be moved into the
+    structure W via an irreflexive/transitive specialization relation, since by
+    itself this definition is not transitive.</p>
+    </div></div>
+    
+<div class="formalism" id="rule_25" data-count="25" data-title="Formalism 25 (rule_25)"><div class="ruleTitle"><a class="internalDFN" href="#rule_25">Formalism 25 (rule_25)</a></div>  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-389-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-389">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-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"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-390">e_1</script> and <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"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-391">e_2</script> are entity identifiers, denoting
+  distinct entities <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><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-392">ent_1
+  = \rho(e_1) \in Entities</script> and <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>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-393">ent_2 = \rho(e_2) \in Entities</script>,
+  where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-394-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-394">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-395-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-395">thingOf(ent_1) = thingOf(ent_2)</script>.
+</li>
+<li>The lifetime of <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>o</mi><mi>b</mi><msub><mi>j</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-396">obj_1</script> is contained in that of <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><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-397">ent_2</script>, i.e. <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>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-398">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-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>t</mi><mi>t</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-399">attr</script> we have <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>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-400">value(obj_1,attr) \supseteq value(obj_2,attr)</script>.
+</li></ol></div>
+
+<p>The second criterion says that the two Entities present aspects of
+the same Thing. Note that the third criterion allows <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>o</mi><mi>b</mi><msub><mi>j</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-401">obj_1</script> and
+<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>o</mi><mi>b</mi><msub><mi>j</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-402">obj_2</script> to have the same lifetime (or that of <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>o</mi><mi>b</mi><msub><mi>j</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-403">obj_2</script> can be larger).
+The last criterion allows <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>o</mi><mi>b</mi><msub><mi>j</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-404">obj_1</script> to have more defined attributes than
+<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>o</mi><mi>b</mi><msub><mi>j</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-405">obj_2</script>, but they must include the attributes defined by <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>o</mi><mi>b</mi><msub><mi>j</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-406">obj_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-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>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-407">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="formalism" id="rule_26" data-count="26" data-title="Formalism 26 (rule_26)"><div class="ruleTitle"><a class="internalDFN" href="#rule_26">Formalism 26 (rule_26)</a></div>
+  <p>
+  <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>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-408">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-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"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-409">e_1</script> and <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"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-410">e_2</script> are entity identifiers, denoting <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-411-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>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-411">ent_1 = \rho(e_1)</script> and <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>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-412">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-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>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-413">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-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>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-414">hadMember</script> relation relates a collection to an element of the collection.
+</p>
+<div class="formalism" id="rule_27" data-count="27" data-title="Formalism 27 (rule_27)"><div class="ruleTitle"><a class="internalDFN" href="#rule_27">Formalism 27 (rule_27)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-415-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>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-415">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-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"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-416">e_1</script> and <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"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-417">e_2</script> are entity identifiers, denoting <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>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-418">coll
+  = \rho(c) \in Collections</script> and <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>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-419">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-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>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-420">Objects</script>.</p>
+  <div class="formalism" id="equality" data-count="28" data-title="Formalism 28 (equality)"><div class="ruleTitle"><a class="internalDFN" href="#equality">Formalism 28 (equality)</a></div>
+    <p><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>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-421">W,\rho \models x = y</script> holds if and only if <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 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-422">\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-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>x</mi><mo stretchy="false">⪯</mo><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-423">x \preceq y</script> holds between two events, one taking
+  place before (or simultaneously with) another.  Since the
+  reference 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-424-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mo stretchy="false">≺</mo><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-424">x
+  \prec y</script> is similar, only <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-425">x</script> must take place strictly before <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>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-426">y</script>).</p>
+  <div class="formalism" id="precedes" data-count="29" data-title="Formalism 29 (precedes)"><div class="ruleTitle"><a class="internalDFN" href="#precedes">Formalism 29 (precedes)</a></div>
+    <ol>
+      <li><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><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-427">W,\rho \models x \preceq y</script> holds if and only if
+      <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 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-428">\rho(x),\rho(y) \in Events</script> and <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>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-429">time(\rho(x)) \leq time(\rho(y))</script>.</li>
+      <li><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>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-430">W,\rho \models x \prec y</script> holds if and only if
+       <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 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-431">\rho(x),\rho(y) \in Events</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-432-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-432">time(\rho(x)) < time(\rho(y))</script>.</li>
+    </ol>
+  </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-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>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-433">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-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 mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-434">\bot</script>.  The symbol <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"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-435">-</script> always denotes the null
+  value (i.e. <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 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-436">\rho(-) = \bot</script>).
+  </p><div class="formalism" id="notNull" data-count="30" data-title="Formalism 30 (notNull)"><div class="ruleTitle"><a class="internalDFN" href="#notNull">Formalism 30 (notNull)</a></div>
+    <p><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>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-437">W,\rho\models notNull(e)</script> holds if and only if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-438-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mo stretchy="false">≠</mo><mi mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-438">e \neq
+  \bot</script>.
+      </p>
+  </div> 
+  
+  </section>
+  
+  <section id="typeof">
+  <h4><span class="secno">4.5.4 </span>typeOf</h4>
+  
+  <p>The typing formula <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>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-439">typeOf(x,t)</script> constrains the type of the value of
+  <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>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-440">x</script>.  </p>
+
+  <div class="formalism" id="typeOf" data-count="31" data-title="Formalism 31 (typeOf)"><div class="ruleTitle"><a class="internalDFN" href="#typeOf">Formalism 31 (typeOf)</a></div>
+    <ol><li><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>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-441">W,\rho\models typeOf(e,entity)</script> holds if and only if
+      <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 mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-442">\rho(e) \in Entities</script>.</li>
+      <li><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>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-443">W,\rho\models typeOf(a,activity)</script> holds if and only if
+      <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 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-444">\rho(a) \in Activities</script>.</li>
+      <li><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>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-445">W,\rho\models typeOf(ag,agent)</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-446-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>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-446">\rho(ag) \in Agents</script>.</li>
+      <li><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>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>p</mi><mi>r</mi><mi>o</mi><mi>v</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-447">W,\rho\models typeOf(c,prov:Collection)</script> holds if and only if
+      TODO.</li>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-448-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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>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></math></span></span></span><script type="math/tex" id="MathJax-Element-448">W,\rho\models typeOf(c,prov: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">
+<!--OddPage--><h2><span class="secno">5. </span> Inferences and Constraints </h2>
+
+    <p>
+    In this section we restate all of the inferences and constraints
+    of PROV-CONSTRAINTS in terms of first-order logic.  For each, we
+    give a proof sketch showing why the inference or constraint is
+    sound for reasoning about the reference semantics.  We exclude the
+    definitional rules in PROV-CONSTRAINTS because they are only
+    needed for expanding the abbreviated forms of PROV-N statements to
+    the logical formulas used here.</p>
+<section id="inferences">
+<h3><span class="secno">5.1 </span>Inferences</h3>
+
+<div class="inference" id="communication-generation-use-inference"><div class="ruleTitle"><a class="internalDFN" href="#communication-generation-use-inference">Inference 5 (communication-generation-use-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-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"><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-449">\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-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"><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-450">\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-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"><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-451">\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-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"><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-452">\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-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"><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-453">\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-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"><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-454">\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-455-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-455">a</script>,<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"><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-456">gen_2</script>, or <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>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-457">use_1</script> can be placeholders -.</p><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"><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-458">\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-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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-459">a</script>,<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>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-460">gen_2</script>, or <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>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-461">use_1</script> can be placeholders -.</p><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"><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-462">\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-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"><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-463">\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-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"><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-464">\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-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"><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-465">\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-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"><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-466">\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-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"><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-467">\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-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"><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-468">\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-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"><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-469">\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-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"><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-470">\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-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"><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-471">\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-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></math></span></span></span><script type="math/tex" id="MathJax-Element-472">a</script>,<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>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-473">g</script>, or <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-474-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-474">u</script> may be placeholders -.</p><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"><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-475">\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-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>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-476">pl</script> may be a placeholder -.</p><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"><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-477">\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-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"><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-478">\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-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"><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-479">\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-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>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi>r</mi><mi>h</mi><mi>o</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-480">ent = rho(e)</script>.  Clearly <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-481-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-481">e \in Entities</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"><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-482">thingOf(e) = thingOf(e)</script>, so <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>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-483">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-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"><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-484">\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-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>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi>r</mi><mi>h</mi><mi>o</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-485">ent_1 = rho(e_1)</script> and <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>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-486">ent_2 = \rho(e_2)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-487-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-487">ent_3 = \rho(e_3)</script>.  Then  by
+  assumption <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-488">ent_1</script>, <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-489">ent_2</script>, and <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>3</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-490">ent_3</script> are in <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>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-491">Entities</script> and
+  <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>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-492">thingOf(e_1) = thingOf(e_2)</script> and <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>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-493">thingOf(e_2) = thingOf(e_3)</script>, so
+  <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>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-494">thingOf(e_1) = thingOf(e_3)</script>, as required to conclude <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>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-495">W,\rho
+  \models alternateOf(e_2,e_1)</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-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"><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-496">\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-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>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi>r</mi><mi>h</mi><mi>o</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-497">ent_1 = rho(e_1)</script> and <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>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-498">ent_2 = \rho(e_2)</script>.  Then  by
+  assumption both <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-499">ent_1</script> and <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-500">ent_2</script> are in <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>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-501">Entities</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-502-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-502">thingOf(e_1) = thingOf(e_2)</script>, as required to conclude <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>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-503">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-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"><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-504">\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-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><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-505">ent_1</script> and
+  <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-506">ent_2</script> and for <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-507">ent_2</script> and <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>e</mi><mi>n</mi><msub><mi>t</mi><mn>3</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-508">ent_3</script>, where <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>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-509">ent_1 = \rho(e_1)</script> and <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>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-510">ent_2 = \rho(e_2)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-511-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>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-511">ent_3 =
+  \rho(e_3)</script>. Then <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>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-512">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-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>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-513">value(obj_2,attr) \supseteq value(obj_3,attr)</script>, and similarly
+  <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>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-514">value(obj_1,attr)\supseteq value(obj_2,attr)</script> so <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>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-515">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-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"><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-516">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-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><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-517">\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-518-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-518">ent_1=\rho(e_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-519-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-519">ent_2 = \rho(e_2)</script> are
+  specializations, then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-520-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-520">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-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><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-521">\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-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>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-522">ent_1 = \rho(e_1)</script> and <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>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-523">ent_2 = \rho(e_2)</script>.  Suppose
+  <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"><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-524">(att,v)</script> is an attribute-value pair in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-525-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-525">attrs</script>.  Since
+  <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>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-526">entity(e_1,attrs)</script> holds, we know that <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>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-527">v \in value(ent_1,att)</script>.
+  Thus <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>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-528">v \in value(ent_2,att)</script> since <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-529-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-529">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-530-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-530">attrs</script>, and since
+  <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"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-531">e_2</script> obviously denotes an entity, we can conclude <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"><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-532">W,\rho \models entity(e,attrs</script>).
+  </p>
+</div>
+
+<section id="constraints">
+<h3><span class="secno">5.2 </span>Constraints</h3>
+<section id="uniqueness-constraints">
+<h4><span class="secno">5.2.1 </span>Uniqueness constraints</h4>
+
+<div class="constraint" id="key-object"><div class="ruleTitle"><a class="internalDFN" href="#key-object">Constraint 22 (key-object)</a></div>
+  <ol><li>The
+  identifier field <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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-533">id</script> is a <span class="conditional">KEY</span> for
+  the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-534-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-534">entity(id,attrs)</script> statement.</li>
+  <li>The identifier field <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-535-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-535">id</script>
+  is a <span class="conditional">KEY</span> for the
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-536-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-536">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-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"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-537">id</script> is a <span class="conditional">KEY</span> for the <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"><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-538">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-539-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-539">id</script> is a <span class="conditional">KEY</span> for the
+    <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>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-540">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-541">id</script> is a <span class="conditional">KEY</span> for the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-542-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-542">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-543">id</script> is a <span class="conditional">KEY</span> for the
+    <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"><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-544">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-545-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-545">id</script> is a <span class="conditional">KEY</span> for the
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-546-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>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-546">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-547">id</script> is a <span class="conditional">KEY</span> for the
+    <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>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-548">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-549">id</script> is a <span class="conditional">KEY</span> for the
+    <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><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-550">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-551-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-551">id</script> is a <span class="conditional">KEY</span> for the
+    <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>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-552">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-553">id</script> is a <span class="conditional">KEY</span> for the
+    <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>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-554">wasAttributedTo(id,e,ag,attrs)</script> statement.</li>
+    <li>The identifier field <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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-555">id</script> is a <span class="conditional">KEY</span> for the
+    <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>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-556">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-557">id</script> is a <span class="conditional">KEY</span> for the
+    <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>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-558">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-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>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-559">id</script> is a <span class="conditional">KEY</span> for the
+    <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>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-560">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-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"><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-561">\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-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"><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-562">\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-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><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-563">\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-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"><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-564">\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-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"><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-565">\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-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"><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-566">\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">
+<h4><span class="secno">5.2.2 </span>Ordering constraints</h4>
+
+
+<div class="constraint" id="start-precedes-end"><div class="ruleTitle"><a class="internalDFN" href="#start-precedes-end">Constraint 30 (start-precedes-end)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-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"><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-567">\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-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"><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-568">\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-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"><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-569">\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-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"><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-570">\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-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><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-571">\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-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"><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-572">\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-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"><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-573">\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-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"><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-574">\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-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"><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-575">\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-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"><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-576">\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-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"><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-577">\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-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"><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-578">\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-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"><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-579">\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-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>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-580">a</script>,<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>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-581">gen_2</script>, or <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>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-582">use_1</script> must not be placeholders -.</p><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"><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-583">\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>