* added prov-sem staging dir
authorjcheney@inf.ed.ac.uk
Thu, 04 Apr 2013 15:44:19 +0100
changeset 6047 668b93ed1c7b
parent 6046 ad5be5939eaa
child 6048 57dcf1e0eb01
* added prov-sem staging dir
semantics/releases/NOTE-prov-sem-20130430/Overview.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/semantics/releases/NOTE-prov-sem-20130430/Overview.html	Thu Apr 04 15:44:19 2013 +0100
@@ -0,0 +1,4063 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head> 
+    <title>Semantics of the PROV Data Model</title> 
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
+    <!-- 
+      === NOTA BENE ===
+      For the three scripts below, if your spec resides on dev.w3 you can check them
+      out in the same tree and use relative links so that they'll work offline,
+     -->
+<!-- PM -->
+    <style type="text/css">
+      .note { font-size:small; margin-left:50px }
+
+
+/* --- EDITORIAL NOTES --- */
+.pending {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #BFEFFF;
+}
+
+.pending::before {
+    content:    "Pending Review";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+
+
+
+.resolved {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #9BCD9B;
+}
+
+.resolved::before {
+    content:    "Resolved";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+
+.inference {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #fff;
+}
+
+
+.inference-example {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #fff;
+}
+
+.semantics {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #0f0;
+    background: #fff;
+}
+
+.component {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #088;
+    background: #fff;
+}
+
+
+
+.theorem {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #888;
+    background: #fff;
+}
+
+.proof {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px dotted #888;
+    background: #FFFFFF;
+}
+.proof::before {
+    content:    "Proof";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #000;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.proof::after {
+    content:    "QED";
+    display:    block;
+    text-align: right;
+    font-weight:    bold;
+    padding:    3px 1em;
+}
+
+/* .inference[id]::before { */
+/*     content:    "Inference: " attr(id); */
+/*     width:  380px;  /\* How can we compute the length of "Constraint: " attr(id) *\/ */
+/* } */
+
+
+/* .inference::before { */
+/*     content:    "Inference"; */
+/*     display:    block; */
+/*     width:  150px; */
+/*     margin: -1.5em 0 0.5em 0; */
+/*     font-weight:    bold; */
+/*     border: 1px solid #f00; */
+/*     background: #fff; */
+/*     padding:    3px 1em; */
+/* } */
+
+.syntax {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #fff;
+}
+
+.syntax[id]::before {
+    content:    "Syntax: " attr(id);
+    width:  380px;  /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.syntax::before {
+    content:    "Syntax";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.unamedconstraint {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+
+.unamedconstraint::before {
+    content:    "Constraint";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #00f;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+
+
+.constraint {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+.constraint-example {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+/* .constraint[id]::before { */
+/*     content:    "Constraint: " attr(id); */
+/*     width:  380px;  /\* How can we compute the length of "Constraint: " attr(id) *\/ */
+/* } */
+
+
+/* .constraint::before { */
+/*     content:    "Constraint"; */
+/*     display:    block; */
+/*     width:  150px; */
+/*     margin: -1.5em 0 0.5em 0; */
+/*     font-weight:    bold; */
+/*     border: 1px solid #00f; */
+/*     background: #fff; */
+/*     padding:    3px 1em; */
+/* } */
+
+
+
+.interpretation {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+.interpretation[id]::before {
+    content:    "Interpretation: " attr(id);
+    width:  380px;  /* How can we compute the length of "Interpretation: " attr(id) */
+}
+
+
+.interpretation::before {
+    content:    "Interpretation";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #00f;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.definition {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #777;
+    background: #fff;
+}
+
+.definition-example {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #777;
+    background: #fff;
+}
+
+/* .definition[id]::before { */
+/*     content:    "Definition: " attr(id); */
+/*     width:  380px;  */
+/* } */
+
+
+/* .definition::before { */
+/*     content:    "Definition"; */
+/*     display:    block; */
+/*     width:  150px; */
+/*     margin: -1.5em 0 0.5em 0; */
+/*     font-weight:    bold; */
+/*     border: 1px solid #000; */
+/*     background: #fff; */
+/*     padding:    3px 1em; */
+/* } */
+
+
+.deprecatedconstraint {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+.deprecatedconstraint[id]::before {
+    content:    "Deprecated: " attr(id);
+    width:  380px;  /* How can we compute the length of "Deprecatedconstraint: " attr(id) */
+}
+
+
+.deprecatedconstraint::before {
+    content:    "Deprecated";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #00f;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.glossary-ref {
+    font-style:    italic;
+}
+
+.dfn {
+    font-weight:    bold;
+}
+
+
+.attribute {
+    font-style: italic;
+}
+
+
+.conditional {
+    color: blue;
+}
+
+.grammar {
+    margin-top: 1ex;
+    margin-bottom: 1ex;
+    padding-left: 1ex;
+    padding-right: 1ex;
+    padding-top: 1ex;
+    padding-bottom: 0.6ex;
+    border: 1px dashed #2f6fab;
+    font-size: 95%;
+}
+.nonterminal {
+    font-weight: bold;
+    font-family: sans-serif;
+    font-size: 95%;
+}
+
+.name {
+    font-family: monospace;
+}
+
+.math {
+    font-family: roman;
+    font-style:italic;
+}
+
+
+.xmpl {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #fff;
+}
+
+.xmpl::before {
+    content:    "Example";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+/*
+.anexample[count]::before {
+    content: "Example " attr(count) ;
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+
+.anexample:before {
+    content: "Example:";
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+
+*/
+
+.anexample {
+    margin-top: 1ex;
+    margin-bottom: 1ex;
+    padding-left: 1ex;
+    padding-right: 1ex;
+    padding-top: 1ex;
+    padding-bottom: 0.6ex;
+    border: 1px dashed #2f6fab;
+    background-color: #f9f9f9;
+}
+.anexample table {
+    background-color: #f9f9f9;
+}
+
+.conceptexample:before {
+    content: "Example:";
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+.conceptexample {
+    margin-top: 1ex;
+    margin-bottom: 1ex;
+    padding-left: 1ex;
+    padding-right: 1ex;
+    padding-top: 1ex;
+    padding-bottom: 0.6ex;
+    border: 1px dashed #2f6fab;
+    background-color: #f9f9f9;
+}
+
+.pnExpression {
+    font-weight: normal;
+    font-size:120%;
+    font-family: monospace;
+}
+
+
+div[class="grammar"] span[class="name"]:before {
+    content: "'";
+}
+
+div[class="grammar"] span[class="name"]:after {
+    content: "'";
+}
+
+
+div[class="grammar"] span[class="optional"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="optional"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")?";
+}
+
+
+div[class="grammar"] span[class="plus"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="plus"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")+";
+}
+
+
+div[class="grammar"] span[class="star"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="star"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")*";
+}
+
+div[class="grammar"] span[class="choice"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="choice"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")";
+}
+
+div[class="grammar"] span[class="group"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="group"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")";
+}
+
+table {
+    background-color: #f9f9f9;
+}
+
+.component1-color {
+ background-color: rgba(255,42,42,0.2);
+}
+
+.component2-color {
+ background-color: rgba(0,68,170,0.2);
+}
+
+.component3-color {
+ background-color: rgba(0,170,0,0.2);
+}
+.component4-color {
+ background-color: rgba(204,255,0,0.2);
+}
+
+.component5-color {
+ background-color: rgba(11,40,40,0.2);
+}
+
+.component6-color {
+ background-color: rgba(244,105,14,0.2);
+}
+
+.interpretation-forward::before {
+    content:    "Interpretation: ";
+    font-weight:    bold;
+}
+
+.structural-forward::before {
+    content:    "Structural constraint: ";
+    font-weight:    bold;
+}
+
+
+code {
+    color:  black;
+}
+
+.ruleTitle {
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+
+
+
+
+.remark {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px dashed #000;
+    background: #F0F0F0;
+}
+
+.remark::before {
+    content:    "Remark";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #000;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+table.thinborder {
+	border-width: 1px;
+	border-spacing: 0px;
+	border-style: none;
+	border-color: gray;
+	border-collapse: collapse;
+}
+table.thinborder th {
+	border-width: 1px;
+	padding: 0px;
+	border-style: solid;
+	border-color: gray;
+}
+table.thinborder td {
+	border-width: 1px;
+	padding: 2px;
+	border-style: solid;
+	border-color: gray;
+}
+
+
+     </style>
+
+<!--    <script src="https://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script>  -->
+
+
+
+     
+    
+
+<!-- <script type="text/javascript" class="remove"
+            src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
+    </script> -->
+
+
+  
+    
+
+     
+  <style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
+.MathJax_Hover_Arrow {position: absolute; width: 15px; height: 11px; cursor: pointer}
+</style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
+.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 5px 0px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -khtml-border-radius: 5px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
+.MathJax_MenuItem {padding: 1px 2em; background: transparent}
+.MathJax_MenuTitle {background-color: #CCCCCC; margin: -5px 0 0 0; text-align: center; font-style: italic; font-size: 80%; color: #444444; padding: 2px 0; overflow: hidden}
+.MathJax_MenuArrow {position: absolute; right: .5em; color: #666666}
+.MathJax_MenuActive .MathJax_MenuArrow {color: white}
+.MathJax_MenuCheck {position: absolute; left: .7em}
+.MathJax_MenuRadioCheck {position: absolute; left: .7em}
+.MathJax_MenuLabel {padding: 1px 2em 3px 1.33em; font-style: italic}
+.MathJax_MenuRule {border-top: 1px solid #DDDDDD; margin: 4px 3px}
+.MathJax_MenuDisabled {color: GrayText}
+.MathJax_MenuActive {background-color: #606872; color: white}
+.MathJax_Menu_Close {position: absolute; width: 31px; height: 31px; top: -15px; left: -15px}
+</style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
+#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
+#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
+</style><style type="text/css">.MathJax_Preview {color: #888}
+#MathJax_Message {position: fixed; left: 1px; bottom: 2px; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
+#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
+.MathJax_Error {color: #CC0000; font-style: italic}
+</style><style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 { 
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+cite .bibref {
+    font-style: normal;
+}
+
+code {
+    color:  #ff4500;
+}
+
+
+/* --- --- */
+ol.algorithm { counter-reset:numsection; list-style-type: none; }
+ol.algorithm li { margin: 0.5em 0; }
+ol.algorithm li:before { font-weight: bold; counter-increment: numsection; content: counters(numsection, ".") ") "; }
+
+/* --- TOC --- */
+.toc a, .tof a {
+    text-decoration:    none;
+}
+
+a .secno, a .figno {
+    color:  #000;
+}
+
+ul.tof, ol.tof {
+    list-style: none outside none;
+}
+
+.caption {
+    margin-top: 0.5em;
+    font-style:   italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+</style><style>/* --- ISSUES/NOTES --- */
+div.issue-title, div.note-title {
+    padding-right:  1em;
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.issue-title { color: #e05252; }
+div.note-title { color: #52e052; }
+div.issue-title span, div.note-title span {
+    text-transform: uppercase;
+}
+div.note, div.issue {
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+.note > p:first-child, .issue > p:first-child { margin-top: 0 }
+.issue, .note {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+}
+div.issue, div.note {
+    padding: 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+span.note, span.issue { padding: .1em .5em .15em; }
+
+.issue {
+    border-color: #e05252;
+    background: #fbe9e9;
+}
+.note {
+    border-color: #52e052;
+    background: #e9fbe9;
+}
+
+
+</style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-ED"><style type="text/css">DIV.MathJax_MathML {text-align: center; margin: .75em 0px}
+.MathJax_MathML {font-style: normal; font-weight: normal; line-height: normal; font-size: 100%; font-size-adjust: none; text-indent: 0; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; direction: ltr; border: 0; padding: 0; margin: 0}
+span.MathJax_MathML {display: inline}
+div.MathJax_MathML {display: block}
+.MathJax_mmlExBox {display: block; overflow: hidden; height: 1px; width: 60ex; padding: 0; border: 0; margin: 0}
+</style><!--[if lt IE 9]><script src='http://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head> 
+  <body><div id="MathJax_Message" style="display: none; "></div><div class="head">
+  <p>
+    
+      <a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+    
+  </p>
+  <h1 class="title" id="title">Semantics of the PROV Data Model</h1>
+  
+  <h2 id="w3c-editor-s-draft-04-april-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft 04 April 2013</h2>
+  <dl>
+    
+      <dt>This version:</dt>
+      <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html">http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html</a></dd>
+      <dt>Latest published version:</dt>
+      <dd><a href="http://www.w3.org/TR/prov-sem/">http://www.w3.org/TR/prov-sem/</a></dd>
+    
+    
+      <dt>Latest editor's draft:</dt>
+      <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html">http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html</a></dd>
+    
+    
+    
+    
+      
+    
+    
+    
+    <dt>Editor:</dt>
+    <dd><a href="http://homepages.inf.ed.ac.uk/jcheney">James Cheney</a>, University of Edinburgh</dd>
+
+    
+  </dl>
+  
+  
+  
+  
+    
+      <p class="copyright">
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 
+        2012-2013
+        
+        <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> 
+        (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+        <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+        <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved.
+        <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+        <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+      </p>
+    
+  
+  <hr>
+</div> 
+
+    <section id="abstract" class="introductory"><h2>Abstract</h2>
+<p>
+Provenance is information about entities, activities, and people
+involved in producing a piece of data or thing, which can be used to
+form assessments about its quality, reliability or
+trustworthiness. PROV-DM is the conceptual data model that forms a
+basis for the <abbr title="World Wide Web Consortium">W3C</abbr> provenance (PROV) family of specifications.
+</p>
+
+
+<p> This document presents a model-theoretic semantics for the PROV
+data model (called the <dfn id="dfn-naive-semantics">naive semantics</dfn>), viewing
+PROV-DM statements as atomic formulas in the sense of first-order
+logic, and viewing the constraints and inferences specified in
+PROV-CONSTRAINTS as a first-order theory. It is shown that the
+first-order theory is sound with respect to the naive semantics.
+This information may be useful to researchers or users of PROV to
+understand the intended meaning and use of PROV for modeling
+information about the actual history, derivation or evolution of Web
+resources.  It may also be useful for development of additional
+constraints or inferences for reasoning about PROV or integration of
+PROV with other Semantic Web vocabularies.  It is <b>not</b> proposed
+as a canonical or required semantics of PROV and does not place any
+constraints on the use of PROV.</p>
+
+<p>The PROV Document Overview describes the overall state of PROV, and should be read before other PROV documents.</p>
+</section><section id="sotd" class="introductory"><h2>Status of This Document</h2>
+  
+    
+      
+        <p>
+          <em>This section describes the status of this document at the time of its publication. Other
+          documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision
+          of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
+          index</a> at http://www.w3.org/TR/.</em>
+        </p>
+        
+<h4 id="prov-family-of-documents">PROV Family of Documents</h4>
+This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
+interchange of provenance information in heterogeneous environments such as the Web.  These documents are listed below. Please consult the [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>] for a guide to reading these documents. 
+<ul>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [<cite><a class="bibref" href="#bib-PROV-PRIMER">PROV-PRIMER</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> (Proposed Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> (Proposed Recommendation), the PROV data model for provenance [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> (Proposed Recommendation), a notation for provenance aimed at human consumption [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a>
+(Proposed Recommendation), a set of constraints applying to the PROV
+data model [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note),  an XML schema for the PROV data model [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>]; </li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [<cite><a class="bibref" href="#bib-PROV-DC">PROV-DC</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/">PROV-SEM</a>
+(To be published as Note), a declarative specification in terms of
+first-order logic of the PROV data model (this document);</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles [<cite><a class="bibref" href="#bib-PROV-LINKS">PROV-LINKS</a></cite>].</li>
+</ul>
+
+
+        <p>
+          This document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as an Editor's Draft.
+          
+          
+          If you wish to make comments regarding this document, please send them to 
+          <a href="mailto:[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" class="tocxref"><span class="secno">2.2 </span> Times </a></li><li class="tocline"><a href="#attributes-and-values" class="tocxref"><span class="secno">2.3 </span> Attributes and Values </a></li><li class="tocline"><a href="#formulas" class="tocxref"><span class="secno">2.4 </span>Atomic Formulas</a></li><li class="tocline"><a href="#first-order-formulas" class="tocxref"><span class="secno">2.5 </span>First-Order Formulas</a></li></ul></li><li class="tocline"><a href="#structures" class="tocxref"><span class="secno">3. </span> Structures and Interpretations </a><ul class="toc"><li class="tocline"><a href="#things-1" class="tocxref"><span class="secno">3.1 </span> Things </a></li><li class="tocline"><a href="#objects-1" class="tocxref"><span class="secno">3.2 </span> Objects </a><ul class="toc"><li class="tocline"><a href="#entities-1" class="tocxref"><span class="secno">3.2.1 </span> Entities </a><ul class="toc"><li class="tocline"><a href="#plans-1" class="tocxref"><span class="secno">3.2.1.1 </span> Plans </a></li><li class="tocline"><a href="#collections-1" class="tocxref"><span class="secno">3.2.1.2 </span>Collections</a></li></ul></li><li class="tocline"><a href="#activities-1" class="tocxref"><span class="secno">3.2.2 </span> Activities </a></li><li class="tocline"><a href="#agents-1" class="tocxref"><span class="secno">3.2.3 </span> Agents </a></li><li class="tocline"><a href="#influences-1" class="tocxref"><span class="secno">3.2.4 </span> Influences </a><ul class="toc"><li class="tocline"><a href="#events-1" class="tocxref"><span class="secno">3.2.4.1 </span> Events </a></li><li class="tocline"><a href="#associations-1" class="tocxref"><span class="secno">3.2.4.2 </span> Associations </a></li><li class="tocline"><a href="#attributions-1" class="tocxref"><span class="secno">3.2.4.3 </span> Attributions </a></li><li class="tocline"><a href="#communications-1" class="tocxref"><span class="secno">3.2.4.4 </span>Communications</a></li><li class="tocline"><a href="#delegations-1" class="tocxref"><span class="secno">3.2.4.5 </span>Delegations</a></li><li class="tocline"><a href="#derivations-1" class="tocxref"><span class="secno">3.2.4.6 </span> Derivations </a></li></ul></li></ul></li><li class="tocline"><a href="#additional-axioms" class="tocxref"><span class="secno">3.3 </span>Additional axioms</a></li><li class="tocline"><a href="#putting-it-all-together" class="tocxref"><span class="secno">3.4 </span> Putting it all together </a></li><li class="tocline"><a href="#interpretations" class="tocxref"><span class="secno">3.5 </span> Interpretations </a></li></ul></li><li class="tocline"><a href="#semantics" class="tocxref"><span class="secno">4. </span> Semantics </a><ul class="toc"><li class="tocline"><a href="#satisfaction" class="tocxref"><span class="secno">4.1 </span> Satisfaction </a></li><li class="tocline"><a href="#attribute-matching" class="tocxref"><span class="secno">4.2 </span> Attribute matching </a></li><li class="tocline"><a href="#semantics-of-element-formulas" class="tocxref"><span class="secno">4.3 </span> Semantics of Element Formulas </a><ul class="toc"><li class="tocline"><a href="#entity" class="tocxref"><span class="secno">4.3.1 </span> Entity </a></li><li class="tocline"><a href="#activity" class="tocxref"><span class="secno">4.3.2 </span> Activity </a></li><li class="tocline"><a href="#agent" class="tocxref"><span class="secno">4.3.3 </span> Agent </a></li></ul></li><li class="tocline"><a href="#semantics-of-relations" class="tocxref"><span class="secno">4.4 </span> Semantics of Relations </a><ul class="toc"><li class="tocline"><a href="#generation" class="tocxref"><span class="secno">4.4.1 </span> Generation </a></li><li class="tocline"><a href="#use" class="tocxref"><span class="secno">4.4.2 </span> Use </a></li><li class="tocline"><a href="#invalidation" class="tocxref"><span class="secno">4.4.3 </span> Invalidation </a></li><li class="tocline"><a href="#association" class="tocxref"><span class="secno">4.4.4 </span> Association </a></li><li class="tocline"><a href="#start" class="tocxref"><span class="secno">4.4.5 </span> Start </a></li><li class="tocline"><a href="#end" class="tocxref"><span class="secno">4.4.6 </span> End </a></li><li class="tocline"><a href="#attribution" class="tocxref"><span class="secno">4.4.7 </span> Attribution </a></li><li class="tocline"><a href="#communication" class="tocxref"><span class="secno">4.4.8 </span>Communication</a></li><li class="tocline"><a href="#delegation" class="tocxref"><span class="secno">4.4.9 </span> Delegation </a></li><li class="tocline"><a href="#derivation" class="tocxref"><span class="secno">4.4.10 </span> Derivation </a><ul class="toc"><li class="tocline"><a href="#precise" class="tocxref"><span class="secno">4.4.10.1 </span> Precise </a></li><li class="tocline"><a href="#imprecise" class="tocxref"><span class="secno">4.4.10.2 </span> Imprecise </a></li></ul></li><li class="tocline"><a href="#influence" class="tocxref"><span class="secno">4.4.11 </span>Influence</a></li><li class="tocline"><a href="#specialization" class="tocxref"><span class="secno">4.4.12 </span> Specialization </a></li><li class="tocline"><a href="#alternate" class="tocxref"><span class="secno">4.4.13 </span> Alternate </a></li><li class="tocline"><a href="#membership" class="tocxref"><span class="secno">4.4.14 </span> Membership </a></li></ul></li><li class="tocline"><a href="#semantics-of-auxiliary-formulas" class="tocxref"><span class="secno">4.5 </span>Semantics of Auxiliary Formulas</a><ul class="toc"><li class="tocline"><a href="#precedes-and-strictly-precedes" class="tocxref"><span class="secno">4.5.1 </span>Precedes and Strictly Precedes</a></li><li class="tocline"><a href="#notnull" class="tocxref"><span class="secno">4.5.2 </span>notNull</a></li><li class="tocline"><a href="#typeof" class="tocxref"><span class="secno">4.5.3 </span>typeOf</a></li></ul></li></ul></li><li class="tocline"><a href="#theory" class="tocxref"><span class="secno">5. </span> Inferences and Constraints </a><ul class="toc"><li class="tocline"><a href="#inferences" class="tocxref"><span class="secno">5.1 </span>Inferences</a></li><li class="tocline"><a href="#constraints" class="tocxref"><span class="secno">5.2 </span>Constraints</a><ul class="toc"><li class="tocline"><a href="#uniqueness-constraints" class="tocxref"><span class="secno">5.2.1 </span>Uniqueness constraints</a></li><li class="tocline"><a href="#ordering-constraints" class="tocxref"><span class="secno">5.2.2 </span>Ordering constraints</a></li><li class="tocline"><a href="#typing-constraints" class="tocxref"><span class="secno">5.2.3 </span>Typing constraints</a></li><li class="tocline"><a href="#impossibility-constraints" class="tocxref"><span class="secno">5.2.4 </span>Impossibility constraints</a></li></ul></li></ul></li><li class="tocline"><a href="#soundness-completeness" class="tocxref"><span class="secno">6. </span>Soundness and Completeness</a><ul class="toc"><li class="tocline"><a href="#soundness" class="tocxref"><span class="secno">6.1 </span>Soundness</a></li><li class="tocline"><a href="#completeness" class="tocxref"><span class="secno">6.2 </span>Weak Completeness</a><ul class="toc"><li class="tocline"><a href="#sets" class="tocxref"><span class="secno">6.2.1 </span>Sets</a></li><li class="tocline"><a href="#functions" class="tocxref"><span class="secno">6.2.2 </span>Functions</a></li><li class="tocline"><a href="#relations" class="tocxref"><span class="secno">6.2.3 </span>Relations</a></li><li class="tocline"><a href="#axioms-1" class="tocxref"><span class="secno">6.2.4 </span>Axioms</a></li><li class="tocline"><a href="#main-results" class="tocxref"><span class="secno">6.2.5 </span>Main results</a></li></ul></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.1 </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+
+
+
+    <section id="introduction"> 
+      <!--OddPage--><h2><span class="secno">1. </span>Introduction</h2> 
+
+<p>
+Provenance is a record that describes the people, institutions, entities, and activities involved in producing, influencing, or delivering a piece of data or a thing.
+This document complements
+  the PROV-DM specification [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] that defines a data model for
+  provenance on the Web, and the PROV-CONSTRAINTS specification
+[<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>] that
+specifies definitions, inferences, and constraints that can be used to
+reason about PROV documents, or determine their validity.  This document
+provides a naive formal semantics of PROV, providing a formal
+counterpart to the informal descriptions and motivations given
+elsewhere in PROV specifications.</p>
+
+
+
+<!--
+<section id="conventions"> 
+<h3>Conventions</h3>
+
+
+<p>In this document, logical formulas contain variables written as
+    lower-case identifiers.  Some of these variables are written
+    beginning with the underscore character <span
+    class="name">_</span>, by convention, to indicate that they
+    appear only once in the formula.  Such variables are
+    provided merely as an aid to the reader.  </p>
+
+</section>
+-->
+
+<section id="purpose">
+
+<h3><span class="secno">1.1 </span>Purpose of this document</h3>
+
+</section>
+<p>The PROV-DM and PROV-CONSTRAINTS give motivating examples that
+provide an intuition about the meaning of the constructs.  For some
+concepts, such as use, start, end, generation/invalidation, and
+derivation, the meaning is either obvious or situation-dependent.
+However, during the development of PROV, the importance of additional
+concepts became evident, but the intuitive meaning or correct use of
+these concepts were not clear.  For example, the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-1-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-1">alternateOf</script> and
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-2-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-2">specializationOf</script> relations are used in PROV to relate different
+entities that present aspects of "the same thing".  
+Over time the working group came to a
+consensus about these concepts and how they are to be used, but this
+understanding is based on abstract notions that are not explicit in
+PROV documents; instead, some of their properties are captured
+formally through certain constraints and inferences, while others are
+not captured in PROV specifications at all.
+</p>
+
+<p>The purpose of this document is to present the working group's
+consensus view of the semantics of PROV, using tools from mathematical
+logic, principally model theory (though our use of these tools is lightweight).  This information may be useful to users for understanding the
+intent behind certain features of PROV, to researchers investigating
+richer forms of reasoning over provenance, or to future efforts
+building upon PROV.  It is intended as an exploration of <b>one</b> semantics for PROV, not a definitive specification of the  <b>only</b>
+semantics of PROV.  We intend to provide an intuitive semantics that satisfies all
+of the constraints on valid PROV instances, which ensures that no
+invalid PROV instance has a model.  The current naive semantics, however, is
+not complete in the sense that some valid PROV instances lack models.</p>
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">
+  <p>TODO: Revise this to reflect future improvements in the semantics.</p>
+  </div></div>
+
+<p> Although it is a work in progress, the naive semantics has some appealing
+properties.  Specifically, it provides a declarative counterpart to
+the operational definition of validity taken in PROV-CONSTRAINTS.  In
+the specification, validity is defined via a normalization process
+followed by constraint checking on the normal form.  This approach was adopted
+to keep the specification closer to implementations, although other
+implementations are possible and allowed.  In addition to providing a
+naive semantics, this document shows that the operational
+presentation of PROV validity checking is sound with respect to the
+declarative presentation adopted here.  This could help justify
+alternative approaches to validity checking.</p>
+
+<p>This document mostly considers the semantics of PROV statements and
+  instances.  PROV documents can consist of multiple instances, such
+  as named bundles. The semantics does not (as yet) cover general PROV documents, but the
+  semantics can be used on each instance in a document separately,
+  just as PROV-CONSTRAINTS specifies that each instance in a document
+  is to be validated separately.
+  So, in the rest of this document, we discuss only PROV instances and
+  not PROV documents.
+  The semantics of extensions of PROV, such as dictionaries
+  [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>] and linking across bundles [<cite><a class="bibref" href="#bib-PROV-LINKS">PROV-LINKS</a></cite>], are
+  beyond the scope of this document.  </p>
+  
+<section id="structure-of-this-document"> <h3><span class="secno">1.2 </span>Structure of this document</h3> <p>
+
+</p>
+
+<ul>
+  <li><a href="#basics">Section 2</a> summarizes the basic concepts
+  from mathematical logic used in the semantics,  recapitulates how
+  PROV statements can be viewed as atomic formulas, and introduces
+  some auxiliary formulas.</li>
+  <li><a href="#structures">Section 3</a> presents the mathematical
+  structures used for situations that PROV statements can
+  describe.</li>
+  <li><a href="#semantics">Section 4</a> defines the semantics of PROV
+  statements and auxiliary formulas, indicating when a given formula
+  is satisfied in a structure.</li>
+  <li><a href="#theory">Section 5</a> presents the inferences and
+  constraints from PROV-CONSTRAINTS as first-order formulas, and gives
+  brief justifications for their soundness.</li>
+  <li><a href="#soundness-completeness">Section 6</a> summarizes the
+  main results relating PROV-CONSTRAINTS validation to the semantics,
+  including soundness and a weak form of completeness: a PROV
+  instance is valid if and only if it has a naive model.</li>
+</ul>
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">
+<p>TODO: We would like to say something stronger here, such as a
+  completeness result for naive models, but this will take more work.</p>
+  </div></div>
+
+</section>
+<section id="audience">
+<h3><span class="secno">1.3 </span> Audience </h3>
+
+
+<p>This document assumes familiarity with [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] and
+  [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>] and employs (a
+  simplified form of) 
+[<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] notation.  In particular it assumes familiarity with the concepts
+  from logic, and the relationship between PROV statements and
+  instances and first-order formulas and theories, respectively,
+  presented in <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/#overview">Section 2.5</a> of PROV-CONSTRAINTS.
+</p>
+
+  <p>This document may be useful to users of PROV who have a formal
+  background and are interested in the rationale for some of the
+  constructs of PROV; for researchers investigating extensions of PROV
+  or alternative approaches to reasoning about PROV; or for future
+  efforts on provenance standardization.  </p>
+
+  </section>
+
+  </section>
+
+
+  <!--
+  
+<section id="overview">
+<h2> Overview </h2>
+
+
+<p>The idea of this document is to sketch what aspects of the provenance model can be formalized and how they can be formalized, as a first step towards establishing a consensus on the (intended) meaning of the components of the model and the consistency constraints or inferences that can be applied to the model to distinguish valid from invalid provenance records.</p>
+
+<p>The <a href="http://www.w3.org/TR/prov-constraints/">PROV-CONSTRAINTS</a> document contains formal content specifying a notion of validity (approximately, logical consistency) for PROV documents.  The formal semantics, PROV-SEM, is planned for release as a W3C Note that will complement the procedural specification in PROV-CONSTRAINTS with a declarative specification formulated in terms of first-order logic.   The formal semantics is <b>work in progress</b>.  The drafts below are intermediate stages and some of them are out of date.  
+</p>
+
+<h3> Status </h3>
+
+<p>
+This is work in progress.  The semantics is being updated to be consistent with the Candidate Recommendation of PROV.  The plan is to release the semantics as a Note over the next few months.  At that point, the wiki pages containing drafts of the semantics will be superseded.
+</p>
+
+
+<h3> Idea of the semantics </h3>
+
+<p>As a starting point, I will assume that we intend the statements made in a PROV-DM instance to be intended to describe one, consistent state of the world, much like a logical formula is said to be satisfied in a mathematical model.  That is, I propose an approach similar to that taken in model theory, where the PROV-DM instance corresponds to a formula or theory of a logic, and the semantics corresponds to what logicians call a model.</p>
+
+<p>For example, the formula $\forall x. P(x) \Rightarrow Q(x)$ is satisfied in a mathematical model where the relation $P$ denotes a set of elements that is contained in that denoted by $Q$.  Here, the goal is to come up with a plausible "intended model" for interpreting PROV-DM instances, where the formulas are statements in PROV-DM and the individuals are things and agents.  This is complicated by the fact that many statements about provenance involve talking about objects that change over time.</p>
+
+<p>The word "world" is used in PROV-DM to talk about the actual state
+of affairs that the PROV-DM instance describes, which is what I would
+usually call a "model".  The word "model" is used in PROV-DM mainly in
+the sense of "data model", that is, to talk about what I would
+otherwise call the syntax of PROV-DM.  To avoid confusion with the
+uses of terms in PROV-DM, I will use "structure" to describe the
+mathematical structure that corresponds to actual state of affairs.
+We use the term "model" to describe a structure that satisfies a given
+theory; this sense of "model" does not mean "data model".</p>
+
+<h3> Axiomatization and relationship to PROV-CONSTRAINTS </h3>
+
+<p>One goal of the semantics is to link the procedural specification of validity and equivalence with traditional notions of logical consistency and equivalence of theories, for example in first-order logic.  A first-order axiomatization that corresponds to the formal constraints and is sound for reasoning about the models described below is in progress at the end of the document.
+</p>
+</section>
+-->
+
+<section id="basics">
+<!--OddPage--><h2><span class="secno">2. </span> Basics </h2>
+
+
+
+
+
+<section id="identifiers">
+<h3><span class="secno">2.1 </span> Identifiers </h3>
+
+<p>A lowercase symbol <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-3-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mo stretchy="false">,</mo><mi>y</mi><mo stretchy="false">,</mo><mo>.</mo><mo>.</mo><mo>.</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-3">x,y,...</script> on its own denotes an identifier.
+Identifiers may or may not be URIs.  Identifiers are viewed as
+variables from the point of view of logic.  Identifiers denote objects, and
+two different identifiers <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-4-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-4">x</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-5-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-5">y</script> may denote equal or different objects.  We write <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-6-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>d</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>f</mi><mi>i</mi><mi>e</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-6">Identifiers</script> for the
+set of identifiers of interest in a given situation (typically, the
+set of identifiers present in the PROV instance of interest).
+</p>
+</section>
+
+
+<section id="times">
+<h3><span class="secno">2.2 </span> Times </h3>
+
+<p>We assume an ordered set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-7-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">(</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi><mo stretchy="false">,</mo><mo stretchy="false">≤</mo><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-7">(Times,\leq)</script> of time instants, where
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-8-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>V</mi><mi>a</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-8">Times \subseteq Val</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-9-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">≤</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-9">\leq</script> is a linear order.
+</p>
+
+
+<div class="remark">
+<p>Restricting attention to linearly-ordered times, and imposing this
+  order on events, is a simplifying assumption; it is more restrictive than required to model the
+  constraints. As a result, there are currently some valid PROV
+  instances that do not have naive models.  It is intended that the
+  final version of the semantics will provide a more general class of
+  models such that every valid instance has a model.
+  </p>
+  </div>
+  
+<p>We also consider a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-10-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>n</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-10">Intervals</script> of subsets of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-11-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-11">Times</script>  of the
+  form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-12-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">[</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">]</mo><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mi>t</mi><mo stretchy="false">∣</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">≤</mo><mi>t</mi><mo stretchy="false">≤</mo><msub><mi>t</mi><mn>2</mn></msub><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-12">[t_1,t_2] = \{t \mid t_1 \leq t \leq t_2\}</script>.  Every interval has a minimum
+  and maximum time, written <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-13-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>i</mi><mi>n</mi><mo stretchy="false">(</mo><mo stretchy="false">[</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-13">min([t_1,t_2]) = t_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-14-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>x</mi><mo stretchy="false">(</mo><mo stretchy="false">[</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-14">max([t_1,t_2])
+  = t_2</script> respectively.
+</p>
+
+  
+</section>
+  
+
+
+
+  
+<section id="attributes-and-values">
+<h3><span class="secno">2.3 </span> Attributes and Values </h3>
+
+<p>We assume a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-15-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-15">Attributes</script> of attribute labels and a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-16-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>V</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-16">Values</script>
+of possible values of attributes.  To allow for the fact that some
+attributes can have undefined or multiple values, we sometimes use the set
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-17-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>P</mi><mo stretchy="false">(</mo><mi>V</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-17">P(Value)</script>, that is, the set of sets of values.
+</p> </section>
+
+<section id="formulas">
+<h3><span class="secno">2.4 </span>Atomic Formulas</h3>
+
+<p>The following atomic formulas correspond to the statements of PROV-DM.  We assume that definitions 1-4 of PROV-CONSTRAINTS have been applied in order to expand all optional parameters; thus, we use uniform notation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-18-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>n</mi></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-18">r(id,a_1,\ldots,a_n)</script> instead of the semicolon notation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-19-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">;</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>n</mi></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-19">r(id;a_1,\ldots,a_n)</script>.
+</p>
+<p>Each parameter is either an identifier, a constant (e.g. a time or
+  other literal value in an attribute list), or a null symbol "-".
+  Placeholder symbols <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-20-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-20">-</script> can only appear in the specified arguments
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-21-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-21">pl</script> in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-22-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-22">wasAssociatedWith</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-23-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-23">a,g,u</script> in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-24-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-24">wasDerivedFrom</script>, as shown in the grammar below.
+</p>
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-25-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mtable columnalign="right center left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi>a</mi><mi>t</mi><mi>o</mi><mi>m</mi><mi>i</mi><mi>c</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>e</mi><mi>l</mi><mi>e</mi><mi>m</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>r</mi><mi>e</mi><mi>l</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>u</mi><mi>x</mi><mi>i</mi><mi>l</mi><mi>i</mi><mi>a</mi><mi>r</mi><mi>y</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd></mtr><mtr><mtd><mi>e</mi><mi>l</mi><mi>e</mi><mi>m</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>r</mi><mi>e</mi><mi>l</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>f</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>x</mi><mo stretchy="false">,</mo><mi>y</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>h</mi><mi>a</mi><mi>d</mi><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>a</mi><mi>u</mi><mi>x</mi><mi>i</mi><mi>l</mi><mi>i</mi><mi>a</mi><mi>r</mi><mi>y</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">strictlyPrecedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">,</mo><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></mtd><mtd><mo stretchy="false">::=</mo></mtd><mtd><mo stretchy="false">[</mo><mi>a</mi><mi>t</mi><mi>t</mi><msub><mi>r</mi><mn>1</mn></msub><mo stretchy="false">=</mo><msub><mi>v</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><msub><mi>r</mi><mi>n</mi></msub><mo stretchy="false">=</mo><msub><mi>v</mi><mi>n</mi></msub><mo stretchy="false">]</mo></mtd></mtr><mtr><mtd><mi>t</mi><mi>y</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>E</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></mtd></mtr></mtable></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-25">
+\newcommand{\precedes}{~\mathrel{\textrm{precedes}}~}
+\newcommand{\strictlyPrecedes}{~\mathrel{\textrm{strictlyPrecedes}}~}
+  \begin{array}{rcl}
+  atomic\_formula & {::=}& element\_formula\\
+          & | & relation\_formula\\
+          & | & auxiliary\_formula\\ 
+  element\_formula
+          &{::=} &entity(id,attrs) \\
+          & |&  activity(id,st,et,attrs)\\
+          & |&  agent(id,attrs)\\
+  relation\_formula
+          &{::=}& wasGeneratedBy(id,e,a,t,attrs)\\
+          & |&  used(id,e,a,t,attrs)\\
+          & |&  wasInvalidatedBy(id,e,a,t,attrs)\\
+          & |&  wasStartedBy(id,a_2,e,a_1,t,attrs)\\
+          & |&  wasEndedBy(id,a_2,e,a_1,t,attrs)\\
+          & |&  wasAssociatedWith(id,ag,act,pl,attrs)\\
+          & |&  wasAssociatedWith(id,ag,act,-,attrs)\\
+          & |&  wasAttributedTo(id,e,ag,attrs)\\
+          & |&  actedOnBehalfOf(if,ag_2,ag_1,act,attrs)\\
+          & |& wasInformedBy(id,a_2,a_1,attrs)\\
+          & |&  wasDerivedFrom(id,e_2,e_1,act,g,u,attrs)\\
+          & |&  wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)\\
+& | & wasInfluencedBy(id,x,y,attrs)\\
+          & |&  alternateOf(e_1,e_2)\\
+          & |&  specializationOf(e_1,e_2)\\
+ & | & hadMember(c,e)\\
+  auxiliary\_formula
+          &{::=}& x \strictlyPrecedes y\\
+          & | & x \precedes y\\
+          & | & notNull(x)\\
+          & | & typeOf(x,ty)\\
+attrs &::=& [attr_1 = v_1, \ldots,attr_n = v_n]\\
+ ty &{::=}& entity \\
+&|& activity\\
+&|& agent\\
+&|& Collection\\
+&|& EmptyCollection
+\end{array}
+</script>
+
+<div class="remark">
+  <p>We include the standard PROV collection types (<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-26-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-26">Collection</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-27-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-27">EmptyCollection</script>) and the membership relation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-28-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>h</mi><mi>a</mi><mi>d</mi><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-28">hadMember</script>; however,
+  we do not model dictionaries or the insertion or deletion relations
+  in PROV-DICTIONARY [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>], since these are not part
+  of the PROV recommendations.  If these features are incorporated
+  into future standards, their semantics (and the soundness of the
+  associated constraints) should be modeled.
+  We omit the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-29-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-29">prov</script> prefixes from the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-30-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-30">Collection</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-31-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-31">EmptyCollection</script> types.
+  </p>
+
+  <p>As stated in the Introduction, we do not explicitly model
+  bundles or PROV documents; however, each instance can be viewed as
+  a set of formulas and can be modeled separately.  The semantics of
+  the standard features of PROV can be defined without talking about
+  multiple instances; however, the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-32-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-32">mentionOf</script> relation in
+  PROV-LINKS [<cite><a class="bibref" href="#bib-PROV-LINKS">PROV-LINKS</a></cite>] is intended to support linking across
+  bundles.  Future editions of PROV may incorporate <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-33-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-33">mentionOf</script> or
+  other cross-instance assertions, and if so this semantics should be
+  generalized in order to provide a rationale for such an
+  extension and to establish the soundness of constaints associated
+  with <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-34-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-34">mentionOf</script>. </p>
+</div>
+</section>
+
+<section id="first-order-formulas">
+<h3><span class="secno">2.5 </span>First-Order Formulas</h3>
+
+<p>We also consider the usual connectives and quantifiers of
+first-order logic [<cite><a class="bibref" href="#bib-Logic">Logic</a></cite>].</p>
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-35-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mtable columnalign="right center left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="italic">ϕ</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>a</mi><mi>t</mi><mi>o</mi><mi>m</mi><mi>i</mi><mi>c</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>T</mi><mi>r</mi><mi>u</mi><mi>e</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>x</mi><mo stretchy="false">=</mo><mi>y</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi mathvariant="normal">¬</mi><mtext>&nbsp;</mtext><mi mathvariant="italic">ϕ</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><msub><mi mathvariant="italic">ϕ</mi><mn>1</mn></msub><mo stretchy="false">∧</mo><msub><mi mathvariant="italic">ϕ</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><msub><mi mathvariant="italic">ϕ</mi><mn>1</mn></msub><mo stretchy="false">∨</mo><msub><mi mathvariant="italic">ϕ</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><msub><mi mathvariant="italic">ϕ</mi><mn>1</mn></msub><mo stretchy="false">⇒</mo><msub><mi mathvariant="italic">ϕ</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi mathvariant="normal">∀</mi><mi>x</mi><mo>.</mo><mi mathvariant="italic">ϕ</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi mathvariant="normal">∃</mi><mi>x</mi><mo>.</mo><mi mathvariant="italic">ϕ</mi></mtd></mtr></mtable></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-35">
+\begin{array}{rcl}
+  \phi &{::=}& atomic\_formula\\
+& | & True\\
+& | & False\\
+&|&x = y\\
+& | & \neg~\phi\\
+ &|& \phi_1 \wedge \phi_2\\
+ &|& \phi_1 \vee \phi_2\\
+ &|& \phi_1 \Rightarrow \phi_2\\
+&|& \forall x. \phi\\
+&|& \exists x. \phi\\
+\end{array}
+</script>
+
+
+</section>
+<!--
+<section>
+<h3>Instances as Theories</h3>
+<p>A PROV-DM
+instance can be viewed as a set of atomic formulas
+$\phi_1$...$\phi_n$, often called a <em>theory</em>.  A theory is
+viewed as a conjunction, that is, the overall instance is considered
+to hold in a given structure if each atomic formula in it holds.</p>
+</section>
+-->
+
+
+</section>
+
+
+<section id="structures">
+<!--OddPage--><h2><span class="secno">3. </span> Structures and Interpretations </h2>
+
+<p> In this section we define mathematical structures <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-36-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-36">W</script> that can be used to
+interpret PROV formulas and instances.  A structure consists of a
+collection of sets, functions and relations.  The components of a
+structure <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-37-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-37">W</script> are given in the rest of the section in
+<em>components</em>, highlighted in boxes.
+</p><section id="things-1">
+
+<h3><span class="secno">3.1 </span> Things </h3> 
+
+<p><em>Things</em>  is a set of things in the situation being modeled.  Each thing has a lifetime during which it exists and attributes whose values can change over time.
+</p>
+<p>To model this, a structure <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-38-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-38">W</script> includes:
+</p>
+<div class="component" id="things" data-count="1" data-title="Component 1 (things)"><div class="ruleTitle"><a class="internalDFN" href="#things">Component 1 (things)</a></div><ol>
+  <li> a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-39-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-39">Things</script> of things</li>
+  <li> a function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-40-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">:</mo><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi><mo stretchy="false">→</mo><mi>I</mi><mi>n</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-40">lifetime : Things \to Intervals</script> from things to intervals</li>
+  <li>a function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-41-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">:</mo><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>P</mi><mo stretchy="false">(</mo><mi>V</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-41">value : Things \times Attributes \times Times \to P(Values)</script>
+</li>
+</ol>
+</div>
+<p>
+The range of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-42-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-42">value</script> is the set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-43-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>P</mi><mo stretchy="false">(</mo><mi>V</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-43">P(Values)</script>, indicating that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-44-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-44">value</script>
+is essentially a multi-valued function that returns a set of values (possibly empty).    When <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-45-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-45">value(x,a,t) =
+\emptyset</script>, we say that attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-46-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-46">a</script> is undefined for <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-47-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-47">x</script> at time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-48-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-48">t</script>.</p>
+
+<p>Note that this description does not say what the structure of a
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-49-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-49">Thing</script> is, only how it may be described in terms of its lifetime
+and attribute values.  A thing could be a record of fixed
+attribute values; it could be a bear; it could be the Royal Society;
+it could be a transcendental number like <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-50-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">π</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-50">\pi</script>.  All that matters from
+our point of view is that we know how to map the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-51-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-51">Thing</script> to its time interval and attribute mapping.
+</p>
+
+
+<p>The identity of a Thing is not observable through its attributes or
+lifetime, so it is possible for two different <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-52-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-52">Things</script> to be indistinguishable by their
+attribute values and lifetime.  That is, if the set of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-53-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><msub><mi>T</mi><mn>0</mn></msub><mo stretchy="false">,</mo><msub><mi>T</mi><mn>1</mn></msub><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-53">Things = \{T_0,T_1\}</script> and the attributes are
+specified as <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-54-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><msub><mi>T</mi><mn>0</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><msub><mi>T</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-54">value(T_0,a,t) = value(T_1,a,t)</script> for each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-55-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mo stretchy="false">∈</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-55">t\in
+Times</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-56-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mo stretchy="false">∈</mo><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-56">a \in Attributes</script>, this does not imply that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-57-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>T</mi><mn>0</mn></msub><mo stretchy="false">=</mo><msub><mi>T</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-57">T_0 = T_1</script>.
+</p>
+
+
+</section>
+
+<section id="objects-1">
+<h3><span class="secno">3.2 </span> Objects </h3>
+
+
+<p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-58-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-58">Things</script> are things in the world that have attributes that
+  can change over time.  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-59-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-59">Things</script> may not have distinguishing features
+  that are readily observable and permanent.  In PROV, we do not talk
+  explicitly about <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-60-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-60">Things</script>, but instead we talk about various objects
+  that have discrete, fixed features,  and relationships among these
+  objects. Some objects, called <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-61-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-61">Entities</script>, are associated with
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-62-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-62">Things</script>, and their fixed attributes need to match those of the
+  associated <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-63-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-63">Thing</script> during their common lifetime.  Others correspond
+  to agents, activities, or identifiable interactions among them.</p>  
+
+<p>In this section, we detail the different subsets of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-64-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-64">Objects</script>, and
+give disjointness constraints and associated functions.  Generally, these constraints are necessary to validate
+disjointness constraints from PROV-CONSTRAINTS [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].
+</p>
+
+<p>
+An <em>Object</em> is described by a time interval and attributes with
+fixed values.  Objects encompass entities, activities, agents, and
+interactions (i.e., usage, generation, and other events or influence relations).
+To model this, a structure includes:
+</p>
+
+<div class="component" id="objects" data-count="2" data-title="Component 2 (objects)"><div class="ruleTitle"><a class="internalDFN" href="#objects">Component 2 (objects)</a></div>
+  <ol><li> a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-65-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-65">Objects</script> 
+</li><li> a function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-66-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">:</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi><mo stretchy="false">→</mo><mi>I</mi><mi>n</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-66">lifetime : Objects \to Intervals</script> from objects to time intervals
+</li><li> a function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-67-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">:</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>P</mi><mo stretchy="false">(</mo><mi>V</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-67">value : Objects \times Attributes \to P(Values)</script>
+</li></ol>
+</div>
+
+<p>Intuitively, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-68-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-68">lifetime(e)</script> is the time interval during which object
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-69-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-69">e</script> exists.  The set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-70-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-70">value(e,a)</script> is the set of values of attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-71-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-71">a</script> during the object's lifetime.
+</p>
+
+<p>As with <em>Things</em>, the range of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-72-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-72">value</script> is sets of values,
+making <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-73-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-73">value</script> effectively a multivalued function.  It is also
+possible to have two different objects that are indistinguishable by
+their attributes and time intervals.  Objects are not things, and the
+sets of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-74-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-74">Objects</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-75-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-75">Things</script> are disjoint; however, certain objects,
+namely entities, are associated with things.
+</p>
+
+<div class="remark">
+  <p>
+  Disjointness between <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-76-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-76">Objects</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-77-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-77">Things</script> is not necessary but is
+  assumed in order to avoid confusion between the different categories
+  (time-varying <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-78-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-78">Things</script> vs fixed <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-79-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-79">Objects</script>).
+  </p>
+  </div>
+  
+<section id="entities-1">
+<h4><span class="secno">3.2.1 </span> Entities </h4>
+
+<p>An <em>entity</em> is a kind of object that fixes some aspects of a
+  thing. We assume:</p>
+
+<div class="component" id="entities" data-count="3" data-title="Component 3 (entities)"><div class="ruleTitle"><a class="internalDFN" href="#entities">Component 3 (entities)</a></div>
+  <ol><li> a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-80-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-80">Entities \subseteq Objects</script> of entities, disjoint from <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-81-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-81">Activities</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-82-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-82">Events</script> below.
+</li><li> a function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-83-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">:</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-83">thingOf : Entities \to Things</script> that associates
+  each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-84-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-84">Entity</script> <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-85-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-85">e</script> with a <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-86-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-86">Thing</script>, such that for each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-87-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mo stretchy="false">∈</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-87">t \in
+  lifetime(e)</script>, and for each attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-88-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-88">a</script> we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-89-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">⊆</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-89">value(e,a)
+  \subseteq value(thingOf(e),a,t)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-90-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">⊆</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-90">lifetime(e) \subseteq lifetime(thingOf(e))</script>.
+</li>
+<!--<li>a relation $SpecializationOf \subseteq Entities \times Entities$
+  that is irreflexive and transitive.  Furthermore, if $(e_1,e_2) \in
+  SpecializationOf$ then
+<ol><li>
+  $thingOf(e_1) = thingOf(e_2)$
+  </li>
+  <li>$lifetime(e_1) \subseteq lifetime(e_2)$</li>
+  <li>For each attribute $attr$ we have $value(e_1,attr) \supseteq
+  value(e_2,attr)$.</li>
+  </ol></li>
+  -->
+</ol>
+
+</div>
+
+<div class="remark"><p> Although both entities and things can have
+  undefined or multiple attribute values, their meaning is slightly
+  different: for a thing, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-91-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-91">value(x,a,t) = \emptyset</script> means that the
+  attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-92-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-92">a</script> has no value at time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-93-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-93">t</script>, whereas for an entity,
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-94-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-94">value(x,a) = \emptyset</script> only means that the thing associated to
+  entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-95-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-95">x</script> need not have a
+  fixed value for <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-96-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-96">a</script> during the lifetime of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-97-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-97">x</script>.  This does not imply
+  that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-98-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-98">value(thingOf(e),a,t) = \emptyset</script> when <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-99-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mo stretchy="false">∈</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-99">t \in lifetime(e)</script>.
+  </p>
+
+  <p>Furthermore, all of the attribute values of the entity must
+  be present in the associated thing throughout the lifetime of the
+  entity.  For example, suppose <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-100-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-100">value(thingOf(e),a,t)</script> is <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-101-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo fence="false" stretchy="false">{</mo><mn>1</mn><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-101">\{1\}</script> at
+  some time in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-102-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-102">lifetime(e)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-103-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mn>2</mn><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-103">value(thingOf(e),a,t') = \{2\}</script> at
+  some other time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-104-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>t</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-104">t'</script>.  Then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-105-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-105">value(e,a)</script> must be <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-106-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-106">\emptyset</script> because
+  there is no other set of values that is simultaneously contained in
+  both <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-107-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo fence="false" stretchy="false">{</mo><mn>1</mn><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-107">\{1\}</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-108-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo fence="false" stretchy="false">{</mo><mn>2</mn><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-108">\{2\}</script>.  </p> </div>
+
+
+
+<div class="remark">
+  <p>
+  In the above description of how <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-109-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-109">Entities</script> relate to <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-110-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-110">Things</script>, we
+  require  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-111-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">⊆</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-111">value(e,a) \subseteq
+  value(thingOf(e),a,t)</script> whenever <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-112-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mo stretchy="false">∈</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-112">t \in lifetime(e)</script>.  Intuitively, this means that if we are
+  talking about a <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-113-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-113">Thing</script> indirectly by describing an <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-114-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-114">Entity</script>, then
+  any attributes we ascribe to the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-115-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-115">Entity</script> must also describe the
+  associated <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-116-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-116">Thing</script> during their common lifetime.  Attributes of both
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-117-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-117">Entities</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-118-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-118">Things</script> are multi-valued, so there is no
+  inconsistency in saying that an entity has two different values for
+  some attribute.  In some
+  situations, further uniqueness constraints or range constraints
+  could be imposed on attributes.
+  </p>
+  <p>Only <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-119-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-119">Entities</script> are associated with <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-120-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-120">Things</script>, and this
+  association is
+  necessary to provide an interpretation for the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-121-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-121">alternateOf</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-122-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-122">specializationOf</script> relations.  It might also make sense
+  to associate <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-123-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-123">Agents</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-124-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-124">Activities</script>, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-125-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>n</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-125">Interactions</script> with
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-126-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-126">Things</script>, or with some other structures; however, this is not
+  necessary to model any of the current features of PROV, so in the
+  interest of simplicity we do not do this.
+  </p>
+  </div>
+  
+<section id="plans-1">  
+<h5><span class="secno">3.2.1.1 </span> Plans </h5>
+<p>We identify a specific subset of the entities called
+  <em>plans</em>:</p>
+<div class="component" id="plans" data-count="4" data-title="Component 4 (plans)"><div class="ruleTitle"><a class="internalDFN" href="#plans">Component 4 (plans)</a></div>
+ <p> A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-127-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>P</mi><mi>l</mi><mi>a</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-127">Plans \subseteq Entities</script> of plans.</p>
+  </div>
+</section>
+
+<section id="collections-1">
+  <h5><span class="secno">3.2.1.2 </span>Collections</h5>
+  <p>We identify another specific subset of the entities called
+  <em>collections</em>, with the following associated structure:</p>
+  <div class="component" id="collections" data-count="5" data-title="Component 5 (collections)"><div class="ruleTitle"><a class="internalDFN" href="#collections">Component 5 (collections)</a></div>
+    <ul><li>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-128-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-128">Collections \subseteq Entities</script></li>
+    <li>A membership relation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-129-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mi>O</mi><mi>f</mi><mo stretchy="false">⊆</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-129">MemberOf\subseteq Entities \times Collections</script>
+  indicating when an entity is a member of another (collection)
+  entity.</li>
+  </ul>
+    </div>
+  </section>
+  </section>
+
+    <section id="activities-1">
+<h4><span class="secno">3.2.2 </span> Activities </h4>
+
+
+<p>An <em>activity</em> is an object that encompasses a set of events.  We introduce:
+</p>
+<div class="component" id="activities" data-count="6" data-title="Component 6 (activities)"><div class="ruleTitle"><a class="internalDFN" href="#activities">Component 6 (activities)</a></div>
+  <ol><li>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-130-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-130">Activities \subseteq Objects</script> of activities.</li>
+  <li>Functions <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-131-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">:</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-131">startTime : Activities \to Times</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-132-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">:</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-132">endTime
+  :Activities \to Times</script> giving the start and end time of each activity.</li>
+  <li> Activities are disjoint from Entities: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-133-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">∩</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-133">Entities\cap Activities
+  = \emptyset</script>.</li>
+  </ol>
+</div></section>
+  
+  <section id="agents-1">
+<h4><span class="secno">3.2.3 </span> Agents </h4>
+
+<p>An agent is an object that can act, by controlling, starting,
+  ending, or participating in activities.  An agent is something that
+  bears some form of responsibility for an activity taking place, for
+  the existence of an entity, or for another agent's activity.  Agents can act on behalf of
+  other agents. An agent may be a particular type of entity or activity; an
+  agent cannot be both entity and activity because the sets of
+  entities and activities are disjoint.  We introduce:
+</p>
+<div class="component" id="agents" data-count="7" data-title="Component 7 (agents)"><div class="ruleTitle"><a class="internalDFN" href="#agents">Component 7 (agents)</a></div>
+  <p>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-134-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-134">Agents \subseteq Objects</script> of agents.</p>
+  </div>
+  <div class="remark">
+    <p>There is no requirement that every agent is either an activity
+  or an entity. </p>
+</div></section>
+
+
+<section id="influences-1">
+<h4><span class="secno">3.2.4 </span> Influences </h4>
+
+<p>We consider a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-135-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-135">Influences \subseteq Objects</script> which has disjoint
+  subsets
+  <em>Events</em> connecting entities and activities,
+  <em>Associations</em> between agents and activities,
+    <em>Attributions</em> between entities and agents,
+  <em>Communications</em> between pairs of activities,
+  <em>Delegations</em> between pairs of agents, and
+  <em>Derivations</em> that describe chains of generation and usage
+  steps.  These kinds of influences are discussed further below.  Influences are disjoint from entities, activities and agents.
+</p>
+<div class="component" id="influences" data-count="8" data-title="Component 8 (influences)"><div class="ruleTitle"><a class="internalDFN" href="#influences">Component 8 (influences)</a></div>
+  <ol><li> A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-136-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi><mo stretchy="false">=</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-136">Influences = Events \cup Associations \cup
+  Communications \cup Delegations \cup Derivations \subseteq Objects</script>
+</li>
+<li> The sets <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-137-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-137">Events</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-138-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-138">Associations</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-139-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-139">Communications</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-140-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-140">Delegations</script>
+  and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-141-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-141">Derivations</script> are all pairwise disjoint.
+</li><li> Influences are disjoint from entities, agents and
+activities:  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-142-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi><mo stretchy="false">∩</mo><mo stretchy="false">(</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-142">Influences \cap (Entities \cup Activities \cup Agents) = \emptyset</script>
+</li>
+<li>An associated function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-143-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-143">influenced : Influences \to
+  Objects \times Objects</script> giving the source and target of each influence.</li>
+</ol>
+</div>
+
+
+<section id="events-1">
+<h5><span class="secno">3.2.4.1 </span> Events </h5>
+
+<p>An <em>Event</em> is an influence whose lifetime is a single time
+instant, and relates an activity to an entity (which could be an
+agent).  Events have types including usage, generation, invalidation, starting and ending.  Events are instantaneous.  We introduce:
+</p>
+<div class="component" id="events" data-count="9" data-title="Component 9 (events)"><div class="ruleTitle"><a class="internalDFN" href="#events">Component 9 (events)</a></div>
+<ol><li> A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-144-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-144">Events \subseteq Influences</script> of events, partitioned
+  into disjoint subsets <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-145-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>s</mi><mo stretchy="false">,</mo><mi>E</mi><mi>n</mi><mi>d</mi><mi>s</mi><mo stretchy="false">,</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">,</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi><mo stretchy="false">,</mo><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-145">Starts, Ends, Generations, Usages,
+  Invalidations</script>.
+</li><li> A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-146-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">:</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">→</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-146">time : Events \to Times</script> giving the time of each
+event, such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-147-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-147">lifetime(evt) = \{time(evt)\}</script>.
+</li>
+<li> A quasi-ordering on events <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-148-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">⪯⊂</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-148">\preceq \subset Events \times
+Events</script>.  We write <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-149-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mo stretchy="false">≺</mo><msup><mi>e</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-149">e \prec e'</script> when <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-150-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mo stretchy="false">⪯</mo><msup><mi>e</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-150">e \preceq e'</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-151-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">⪯̸</mo><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-151">e'
+\not\preceq e</script> hold.
+</li>
+<li>A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-152-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-152">started : Starts \to Activities \times Entities \times Activities</script>.
+</li>
+<li>A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-153-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>E</mi><mi>n</mi><mi>d</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-153">ended : Ends \to Activities \times Entities \times Activities</script>.
+</li>
+<li>A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-154-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-154">used : Usages \to Activities \times Entities</script>.
+</li>
+<li>A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-155-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-155">generated : Generations \to Entities \times Activities</script>.
+</li>
+<li>A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-156-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-156">invalidated : Invalidations \to Entities \times Activities</script>.
+</li>
+</ol>
+</div>
+</section>
+<section id="associations-1">
+
+<h5><span class="secno">3.2.4.2 </span> Associations </h5>
+
+<p>An <em>Association</em> is an influence relating an agent to an activity.  To model associations, we introduce:
+</p>
+<div class="component" id="associations" data-count="10" data-title="Component 10 (associations)"><div class="ruleTitle"><a class="internalDFN" href="#associations">Component 10 (associations)</a></div>
+  <p>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-157-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-157">Associations \subseteq Influences</script> with associated
+  function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-158-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">:</mo><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>P</mi><mi>l</mi><mi>a</mi><mi>n</mi><msub><mi>s</mi><mi mathvariant="normal">⊥</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-158">associatedWith : Associations \to  Agents \times Activities \times Plans_\bot</script>.
+</p>
+  </div>
+  </section>
+<section id="attributions-1">
+
+<h5><span class="secno">3.2.4.3 </span> Attributions </h5>
+
+<p>An <em>Attribution</em> is an influence relating an entity to an agent.  To model associations, we introduce:
+</p>
+<div class="component" id="attributions" data-count="11" data-title="Component 11 (attributions)"><div class="ruleTitle"><a class="internalDFN" href="#attributions">Component 11 (attributions)</a></div>
+  <p>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-159-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-159">Attributions \subseteq Influences</script> with associated
+  function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-160-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">:</mo><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-160">attributedTo : Attributions \to Entities \times Agents</script>.
+</p>
+  </div>
+  
+</section>
+  <section id="communications-1">
+  <h5><span class="secno">3.2.4.4 </span>Communications</h5>
+  <p>A <em>Communication</em> is an influence indicating exchange of
+  information between activities.  To model communications, we introduce:
+</p>
+<div class="component" id="communications" data-count="12" data-title="Component 12 (communications)"><div class="ruleTitle"><a class="internalDFN" href="#communications">Component 12 (communications)</a></div>
+  <p>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-161-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-161">Communications \subseteq Influences</script> with associated
+  function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-162-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">:</mo><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-162">communicatedBy : Communications \to Activities \times Activities</script>.
+</p>
+  </div>
+  
+
+</section>
+  <section id="delegations-1">
+  <h5><span class="secno">3.2.4.5 </span>Delegations</h5>
+<p>A <em>Delegation</em> is an influence relating  two agents.  To
+  model delegations, we introduce:
+</p>
+<div class="component" id="delegations" data-count="13" data-title="Component 13 (delegations)"><div class="ruleTitle"><a class="internalDFN" href="#delegations">Component 13 (delegations)</a></div>
+  <p>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-163-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-163">Delegations \subseteq Influences</script> and associated function
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-164-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>o</mi><mi>r</mi><mo stretchy="false">:</mo><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-164">actedFor : Delegations \to Agents \times Agents \times Activities</script>
+</p>
+  </div>
+  
+</section>
+  <section id="derivations-1">
+  
+  <h5><span class="secno">3.2.4.6 </span> Derivations </h5>
+
+<p>A <em>Derivation</em> is an influence chaining one or more
+  generation and use steps.  To model derivations, we introduce an
+  auxiliary notion of <em>derivation path</em>.  These paths are of the form </p>
+
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-165-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mi>n</mi></msub><mo stretchy="false">⋅</mo><msub><mi>g</mi><mi>n</mi></msub><mo stretchy="false">⋅</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mi>n</mi></msub><mo stretchy="false">⋅</mo><msub><mi>u</mi><mi>n</mi></msub><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mrow class="MJX-TeXAtom-ORD"><mi>n</mi><mo stretchy="false">−</mo><mn>1</mn></mrow></msub><mo stretchy="false">⋅</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">⋅</mo><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">⋅</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">⋅</mo><msub><mi>u</mi><mn>1</mn></msub><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>0</mn></msub></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-165">ent_n\cdot g_n\cdot  act_n\cdot  u_n\cdot  ent_{n-1}\cdot  ...\cdot
+ent_1\cdot  g_1\cdot  act_1\cdot  u_1\cdot  ent_0</script>
+
+<p>where the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-166-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-166">ent_i</script> are entities, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-167-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-167">act_i</script> are activities, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-168-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>g</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-168">g_i</script> are generations, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-169-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>u</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-169">u_i</script> are usages.
+</p>
+<p>Formally, we consider the (regular) language:
+</p>
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-170-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mi>s</mi><mo stretchy="false">=</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⋅</mo><mo stretchy="false">(</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⋅</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⋅</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⋅</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><msup><mo stretchy="false">)</mo><mo stretchy="false">+</mo></msup></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-170">DerivationPaths = Entities \cdot (Generations \cdot Activities \cdot
+Usages \cdot Entities)^+</script>
+<p>with the constraints that for each derivation path:
+</p>
+<ul>
+<li>for each substring <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-171-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">⋅</mo><mi>g</mi><mo stretchy="false">⋅</mo><mi>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-171">ent\cdot g \cdot act</script> we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-172-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-172">generated(g) = (ent,act)</script>, and
+</li>
+<li>for each substring <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-173-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">⋅</mo><mi>u</mi><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-173">act \cdot u \cdot ent</script> we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-174-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-174">used(u) = (act,ent)</script>.
+</li>
+</ul>
+
+
+<div class="component" id="derivations" data-count="14" data-title="Component 14 (derivations)"><div class="ruleTitle"><a class="internalDFN" href="#derivations">Component 14 (derivations)</a></div>
+<p>  A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-175-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-175">Derivations \subseteq Influences</script> with an associated
+  function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-176-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">:</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-176">derivationPath : Derivations \to
+DerivationPaths</script>  linking each derivation to a derivation path.  </p>
+<p></p>
+</div>
+
+<div class="remark">
+  <p>
+  The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-177-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-177">derivationPath</script> function links each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-178-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-178"> d \in Derivations</script> to a
+  derivation path.  A derivation has exactly one associated derivation
+  path.  However, if the PROV-N statement <span class="name">wasDerivedFrom(e_2,e_1,-,-,-)</span> is asserted in an
+  instance, there may be multiple derivation paths linking <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-179-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-179">e_2</script> to
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-180-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-180">e_1</script>, each corresponding to a different path, identified by different
+  derivations <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-181-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-181">d \in Derivations</script>.
+  </p>
+
+  <p>A derivation path implies the existence of at least one chained generation
+  and use step.  However, not all such potential derivation paths are associated
+  with derivations; there can (and in general will) be many such paths
+  that are not associated with derivation steps.  In other words, because we require derivations to be
+  explicitly assocated with derivation paths, it is not sound to infer
+  the existence of a derivation from the existence of an 
+  alternating generation/use chain.
+  </p>
+<p>
+  The reason why we need paths and not just individual derivation
+  steps is to reflect that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-182-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-182">wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)</script> formulas can
+  represent multiple derivation steps.  However, there is no way to
+  express a multi-step derivation path in PROV: any valid PROV
+  instance turns out to have a model in which all derivation paths are
+  one-step.</p></div>
+  
+</section>
+</section>
+</section>
+
+  <section id="additional-axioms">
+  <h3><span class="secno">3.3 </span>Additional axioms</h3>
+
+  <p> Above we have stated some properties of the components.  We
+  impose some additional properties that relate several components, as
+  follows:</p>
+
+  <div class="component" id="axioms" data-count="15" data-title="Component 15 (axioms)"><div class="ruleTitle"><a class="internalDFN" href="#axioms">Component 15 (axioms)</a></div>
+    
+  <ol>
+    <li id="axiom1">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-183-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-183">generated(g) = (e,a_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-184-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-184">used(u) = (a_2,e)</script> then there
+    exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-185-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mo stretchy="false">∈</mo><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-185">c \in Communications</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-186-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-186">communicatedBy(c) = (a_2,a_1)</script>.
+    </li>
+    <li id="axiom2">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-187-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-187">started(start) = (a_2,e,a_1)</script> then there exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-188-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-188">gen</script> such
+    that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-189-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-189">generated(gen) = (e,a_1)</script>.
+    </li>
+    <li id="axiom3">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-190-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-190">ended(end) = (a_2,e,a_1)</script> then there exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-191-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-191">gen</script> such
+    that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-192-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-192">generated(gen) = (e,a_1)</script>.
+    </li>
+    <li id="axiom4">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-193-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-193">d \in Derivations</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-194-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>R</mi><mi>e</mi><mi>v</mi><mi>i</mi><mi>s</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">∈</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>d</mi><mo stretchy="false">,</mo><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-194">prov:Revision \in
+    value(d,prov:type)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-195-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>w</mi><mo stretchy="false">⋅</mo><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-195">derivationPath(deriv) = e_2 \cdot w \cdot
+    e_1</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-196-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-196">thingOf(e_1) = thingOf(e_2)</script>.
+    </li>
+    <li id="axiom5">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-197-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-197">attributedTo(att) = (e,ag)</script> then there exist <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-198-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-198">gen</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-199-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-199">assoc</script>
+    such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-200-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-200">generated(gen) = (e,a)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-201-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-201">associatedWith(assoc) = (a,ag)</script>.
+    </li>
+    <li id="axiom6">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-202-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-202">actedFor(deleg) = (ag_2,ag_1,act)</script> then there exist
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-203-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><msub><mi>c</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><msub><mi>c</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-203">assoc_1,assoc_2,pl_1,pl_2</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-204-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><msub><mi>c</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-204">associatedWith(assoc_1) = (act,ag_1,pl_1)</script>
+    and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-205-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><msub><mi>c</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-205">associatedWith(assoc_2) = (act,ag_2,pl_2)</script>.
+    </li>
+    <li id="axiom7">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-206-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-206">generated(id) = (e,a)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-207-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-207">influenced(id) = (e,a)</script>.
+    </li>
+    <li id="axiom8">
+        If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-208-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-208">used(id) = (e,a)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-209-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-209">influenced(id) = (e,a)</script>.
+    </li>
+    <li id="axiom9">
+            If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-210-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-210">communicatedBy(id) = (a_2,a_1)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-211-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-211">influenced(id) = (a_2,a_1)</script>.
+    </li>
+    <li id="axiom10">
+     If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-212-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-212">started(id) = (a_2,e,a_1)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-213-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-213">influenced(id) = (a_2,e)</script>.
+    </li>
+    <li id="axiom11">
+         If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-214-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-214">ended(id) = (a_2,e,a_1)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-215-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-215">influenced(id) = (a_2,e)</script>.
+    </li>
+    <li id="axiom12">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-216-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-216">invalidated(id) = (e,a)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-217-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-217">influenced(id) = (e,a)</script>.
+    </li>
+    <li id="axiom13">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-218-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>w</mi><mo stretchy="false">⋅</mo><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-218">derivationPath(id) = e_2 \cdot w \cdot e_1</script> then
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-219-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-219">influenced(id) = (e_2,e_1)</script>.
+    </li>
+    <li id="axiom14">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-220-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-220">attributedTo(id) = (e,ag)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-221-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-221">influenced(id) = (e,ag)</script>.
+    </li>
+    <li id="axiom15">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-222-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-222">associatedWith(id) = (a,ag,pl)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-223-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-223">influenced(id) = (a,ag)</script>.
+    </li>
+    <li id="axiom16">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-224-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-224">actedFor(id) = (ag_2,ag_1)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-225-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-225">influenced(id) = (ag_2,ag_1)</script>.
+    </li>
+    <li id="axiom17">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-226-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msup><mi>n</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-226">generate(gen) = (e,a) = generated(gen')</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-227-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">=</mo><mi>g</mi><mi>e</mi><msup><mi>n</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-227">gen = gen'</script>.
+    </li>
+    <li id="axiom18">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-228-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><msup><mi>v</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-228">invalidated(inv) = (e,a) = invalidated(inv')</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-229-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">=</mo><mi>i</mi><mi>n</mi><msup><mi>v</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-229">inv=inv'</script>.
+    </li>
+    <li id="axiom19">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-230-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-230">started(st) = (a,e_1,a')</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-231-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>s</mi><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-231">started(st') = (a,e_2,a')</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-232-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mo stretchy="false">=</mo><mi>s</mi><msup><mi>t</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-232">st=st'</script>.
+    </li>
+    <li id="axiom20">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-233-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-233">ended(end) = (a,e_1,a')</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-234-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msup><mi>d</mi><mo>′</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-234">ended(end') = (a,e_2,a')</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-235-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">=</mo><mi>e</mi><mi>n</mi><msup><mi>d</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-235">end=end'</script>.
+    </li>
+    <li id="axiom21">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-236-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-236">started(st) = (a,e)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-237-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mo stretchy="false">⪯</mo><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-237">st \preceq evt</script> for all <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-238-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-238">evt \in events(a)</script>.
+    </li>
+    <li id="axiom22">
+        If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-239-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-239">ended(end) = (a,e,a') </script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-240-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-240">evt \preceq end</script> for all <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-241-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-241">evt \in events(a)</script>.
+    </li>
+    <li id="axiom23">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-242-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-242">generated(gen) = (e,a)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-243-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">⪯</mo><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-243">gen \preceq evt</script> for all <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-244-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-244">evt \in events(e)</script>.
+    </li>
+    <li id="axiom24">
+        If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-245-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-245">invalidated(inv) = (e,a)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-246-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">⪯</mo><mi>i</mi><mi>n</mi><mi>v</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-246">evt\preceq inv</script> for all <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-247-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-247">evt \in events(e)</script>.
+    </li>
+    <li id="axiom25">
+    For any derivation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-248-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-248">deriv</script>, with path <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-249-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>w</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-249">derivationPath(deriv) = w</script>,
+    if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-250-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>g</mi><mo stretchy="false">⋅</mo><mi>a</mi><mo stretchy="false">⋅</mo><mi>u</mi><mo stretchy="false">⋅</mo><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-250">e_2 \cdot g \cdot a \cdot u \cdot e_1 </script> is a substring of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-251-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-251">w</script>
+    where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-252-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-252">e_1,e_2 \in Entities</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-253-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mo stretchy="false">∈</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-253">g \in Generations</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-254-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-254">u \in Usages</script>
+    and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-255-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-255">a \in Activities</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-256-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mo stretchy="false">⪯</mo><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-256">u \preceq g</script>.
+    </li>
+    <li id="axiom26">
+    For any derivation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-257-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-257">deriv</script>, with path <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-258-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>w</mi><mo stretchy="false">⋅</mo><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-258">derivationPath(deriv) = e_2
+    \cdot w \cdot e_1</script>, if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-259-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-259">generated(gen_1) = (e_1,a_1)</script> and
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-260-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-260">generated(gen_2) = (e_2,a_2)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-261-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">≺</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-261">gen_1 \prec gen_2</script>.  
+    </li>
+    </ol>
+</div>
+
+    <p>These properties are called <em>axioms</em>, and they are
+  needed to ensure that the PROV-CONSTRAINTS inferences and
+  constraints hold in all structures.</p>
+  </section>
+
+<section id="putting-it-all-together">
+<h3><span class="secno">3.4 </span> Putting it all together </h3>
+
+<p>A <em>structure</em> <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-262-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-262">W</script> is a collection of sets, functions, and relations containing all of the above
+described components.  If we need to talk about the objects or relations of
+more than one structure then we may write <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-263-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>W</mi><mn>1</mn></msub><mo>.</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-263">W_1.Objects</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-264-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>W</mi><mn>1</mn></msub><mo>.</mo><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-264">W_1.Things</script>,
+etc.; otherwise, to
+decrease notational clutter, when we consider a fixed structure then the names of the sets, relations and functions above refer to the components of that model.
+</p>
+
+
+
+  
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">
+  TODO: Highlight the distinctive vs obvious/routine features.
+  </div></div>
+
+</section>
+<section id="interpretations">
+<h3><span class="secno">3.5 </span> Interpretations </h3>
+
+<p>We need to link identifiers to the objects they denote.  We do this using a function which we shall call an <em>interpretation</em>.
+ An interpretation is a function  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-265-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">:</mo><mi>I</mi><mi>d</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>f</mi><mi>i</mi><mi>e</mi><mi>r</mi><mi>s</mi><mo stretchy="false">→</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-265">\rho : Identifiers \to Objects</script> describing
+which object is the target of each identifier. The mapping from
+ identifiers to objects may <b>not</b> change over time; only
+ <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-266-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-266">Objects</script> can be denoted by <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-267-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>d</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>f</mi><mi>i</mi><mi>e</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-267">Identifiers</script>.
+</p>
+</section>
+
+
+</section>
+<section id="semantics">
+<!--OddPage--><h2><span class="secno">4. </span> Semantics </h2>
+
+<p>In what follows, let <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-268-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-268">W</script> be a fixed structure with the associated sets and relations discussed in the previous section, and let <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-269-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-269">\rho</script> be an interpretation of identifiers as objects in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-270-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-270">W</script>.
+The annotations [WF] refer to well-formedness constraints that correspond to typing constraints.
+</p>
+
+<section id="satisfaction">
+<h3><span class="secno">4.1 </span> Satisfaction </h3>
+
+<p>Consider a formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-271-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-271">\phi</script>, a structure <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-272-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-272">W</script> and an interpretation
+ <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-273-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-273">\rho</script>.
+We define notation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-274-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-274">W,\rho \models \phi</script> which means that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-275-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-275">\phi</script> is
+ satisfied in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-276-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-276">W,\rho</script>. For atomic formulas, the definition of the
+ satisfaction relation is given in the next few subsections.  We give
+ the standard definition of the semantics of the other formulas:
+</p>
+
+<div class="semantics" id="first-order-logic-semantics" data-count="16" data-title="Semantics 16 (first-order-logic-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#first-order-logic-semantics">Semantics 16 (first-order-logic-semantics)</a></div>
+<ol>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-277-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>T</mi><mi>r</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-277">W,\rho \models True</script> always holds.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-278-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-278">W,\rho \models False</script> never holds.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-279-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>x</mi><mo stretchy="false">=</mo><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-279">W,\rho \models x = y</script> holds if and only if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-280-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-280">\rho(x) =
+    \rho(y)</script>.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-281-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="normal">¬</mi><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-281">W,\rho \models \neg \phi</script> holds if and only if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-282-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-282">W,\rho \models
+  \phi</script> does not hold.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-283-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi><mo stretchy="false">∧</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-283">W,\rho \models \phi \wedge \psi</script> holds if and only if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-284-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-284">W,\rho \models
+  \phi</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-285-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-285">W,\rho \models \psi</script>.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-286-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi><mo stretchy="false">∨</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-286">W,\rho \models \phi \vee \psi</script> holds if either <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-287-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-287">W,\rho \models \phi</script>
+  or <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-288-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-288">W,\rho \models \psi</script>.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-289-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi><mo stretchy="false">⇒</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-289">W,\rho \models \phi \Rightarrow \psi</script> holds if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-290-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-290">W,\rho \models \phi</script>
+  implies <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-291-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-291">W,\rho \models \psi</script>.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-292-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="normal">∃</mi><mi>x</mi><mo>.</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-292">W,\rho \models \exists x. \phi</script> holds if there exists some <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-293-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">∈</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-293">obj \in
+  Objects</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-294-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">[</mo><mi>x</mi><mo stretchy="false">:=</mo><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">]</mo><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-294">W,\rho[x:=obj] \models \phi</script>.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-295-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="normal">∀</mi><mi>x</mi><mo>.</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-295">W,\rho \models \forall x. \phi</script> holds if there for every <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-296-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">∈</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-296">obj \in
+  Objects</script> we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-297-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">[</mo><mi>x</mi><mo stretchy="false">:=</mo><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">]</mo><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-297">W,\rho[x:=obj] \models \phi</script>.</li>
+  </ol></div>
+
+<div class="remark">
+  <p>In the semantics above, note that the domain of quantification is
+  the set of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-298-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-298">Objects</script>; that is, quantifiers range over entities,
+  activities, agents, or influences (which are in turn further
+  subdivided into types of influences).  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-299-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-299">Things</script> and relations
+  cannot be referenced directly by identifiers.  
+</p>
+  </div>
+
+  <div class="remark">
+    <p>A PROV instance <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-300-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-300">I</script> consists of a set of statements, each of
+    which can be translated to an atomic formula following the
+    definitional rules in PROV-CONSTRAINTS, possibly by introducing
+    fresh existential variables.  Thus, we can view an
+    instance <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-301-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-301">I</script> as a set of atomic formulas <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-302-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo fence="false" stretchy="false">{</mo><msub><mi mathvariant="italic">ϕ</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi mathvariant="italic">ϕ</mi><mi>n</mi></msub><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-302">\{\phi_1,\ldots,\phi_n\}</script>, or equivalently a
+    single formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-303-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="normal">∃</mi><msub><mi>x</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>x</mi><mi>k</mi></msub><mo>.</mo><mtext>&nbsp;</mtext><msub><mi mathvariant="italic">ϕ</mi><mn>1</mn></msub><mo stretchy="false">∧</mo><mo stretchy="false">⋯</mo><mo stretchy="false">∧</mo><msub><mi mathvariant="italic">ϕ</mi><mi>n</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-303">\exists x_1,\ldots,x_k.~\phi_1 \wedge \cdots
+    \wedge \phi_n</script>, where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-304-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>x</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>x</mi><mi>k</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-304">x_1,\ldots,x_k</script> are the existential
+    variables of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-305-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-305">I</script>.
+    </p>
+    </div>
+
+</section>
+    <section id="attribute-matching">
+    
+<h3><span class="secno">4.2 </span> Attribute matching </h3>
+
+
+<p>We say that an object <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-306-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><mi>j</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-306">obj</script> matches attributes <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-307-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">[</mo><mi>a</mi><mi>t</mi><mi>t</mi><msub><mi>r</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi>v</mi><mi>a</mi><msub><mi>l</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo stretchy="false">]</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-307">[attr_1=val_1,...]</script> in structure <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-308-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-308">W</script> provided:
+for each attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-309-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><msub><mi>r</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-309">attr_i</script>, we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-310-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><msub><mi>l</mi><mi>i</mi></msub><mo stretchy="false">∈</mo><mi>W</mi><mo>.</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><msub><mi>r</mi><mi>i</mi></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-310">val_i \in W.value(obj,attr_i)</script>.
+This is sometimes abbreviated as: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-311-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-311">match(W,obj,attrs)</script>.
+</p>
+    
+</section>
+
+<section id="semantics-of-element-formulas">
+<h3><span class="secno">4.3 </span> Semantics of Element Formulas </h3>
+
+<section id="entity">
+
+<h4><span class="secno">4.3.1 </span> Entity </h4>
+
+<p>An entity formula is of the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-312-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-312">entity(id,attrs)</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-313-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-313">id</script> denotes an entity.
+</p>
+<p>Entity formulas <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-314-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-314">entity(id,attrs)</script> can be interpreted as follows:
+</p>
+<div class="semantics" id="entity-semantics" data-count="17" data-title="Semantics 17 (entity-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#entity-semantics">Semantics 17 (entity-semantics)</a></div>
+ <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-315-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-315">W,\rho \models entity(id,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-316-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-316">id</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-317-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-317">ent = \rho(id) \in Entities</script>
+</li>
+<li>There exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-318-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-318">gen,a</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-319-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-319">generated(gen) = (e,a)</script>.</li>
+<li>There exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-320-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-320">inv,a'</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-321-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-321">invalidated(inv) = (e,a)</script>.</li>
+<li>the attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-322-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-322">match(W,ent, attrs)</script>.
+</li>
+</ol>
+
+
+</div>
+<div class="remark">
+<p>Not all of the attributes of an entity object are
+  required to be present in an entity formula about that object.  For example, the following formulas all hold if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-323-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-323">x</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-324-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-324">e</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-325-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mn>4</mn><mo stretchy="false">,</mo><mn>5</mn><mo fence="false" stretchy="false">}</mo><mo stretchy="false">,</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>b</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mn>6</mn><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-325">value(e,a) = \{4,5\}, value(e,b) = \{6\}</script> hold:
+</p><pre> entity(x,[])
+ entity(x,[a=5])
+ entity(x,[a=4,a=5])
+ entity(x,[a=4,b=6])
+</pre>
+<p>Note that PROV-CONSTRAINTS normalization will merge these formulas
+to a single one:
+</p>
+<pre>  entity(x,[a=4,a=5,b=6])
+</pre>
+  </div>
+
+  </section>
+<section id="activity">
+
+<h4><span class="secno">4.3.2 </span> Activity </h4>
+
+<p>An activity formula  is of the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-326-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-326">activity(id,st,et,attrs)</script>
+where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-327-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-327">id</script> is a identifier referring to the activity, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-328-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-328">st</script> is a start
+time and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-329-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-329">et</script> is an end time, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-330-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-330">attrs</script> are the attributes of
+activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-331-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-331">id</script>.
+</p>
+<div class="semantics" id="activity-semantics" data-count="18" data-title="Semantics 18 (activity-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#activity-semantics">Semantics 18 (activity-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-332-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-332">W,\rho \models activity(id,st,et,attrs)</script>
+  holds if and only if:</p>
+<ol>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-333-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-333">id</script> maps to an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-334-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-334">act = \rho(id) \in Activities</script>
+</li>
+<li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-335-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-335">\rho(st) \in Times</script> is the activity's start time, that is:
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-336-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-336">startTime(id) = \rho(st)</script>
+</li>
+<li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-337-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-337">\rho(et)</script> is the activity's end time, that is: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-338-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-338">endTime(id) = \rho(et)</script>
+</li>
+<li>There exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-339-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-339">start,e,a</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-340-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-340">started(start) = (act,e,a)</script>.</li>
+<li>There exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-341-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-341">end,e',a'</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-342-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-342">ended(end) = (act,e',a')</script>.</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-343-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-343">match(W,act,attrs)</script>.
+</li>
+</ol>
+</div>
+</section>
+<section id="agent">
+
+<h4><span class="secno">4.3.3 </span> Agent </h4>
+
+<p>An agent formula is of the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-344-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-344">agent(id,attrs)</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-345-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-345">id</script> denotes the agent and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-346-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-346">attrs</script> describes additional attributes.
+</p>
+<div class="semantics" id="agent-semantics" data-count="19" data-title="Semantics 19 (agent-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#agent-semantics">Semantics 19 (agent-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-347-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-347">W,\rho \models agent(id,attrs)</script> holds if and only if:
+  </p>
+  <ol>
+    <li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-348-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-348">id</script> denotes an agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-349-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-349">ag = \rho(id) \in Agents</script>
+    </li>
+    <li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-350-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-350">match(W,ag,attrs)</script>.
+    </li>
+  </ol>
+</div>
+</section>
+</section>
+
+<section id="semantics-of-relations">
+<h3><span class="secno">4.4 </span> Semantics of Relations </h3>
+
+
+<section id="generation">
+<h4><span class="secno">4.4.1 </span> Generation </h4>
+
+<p>The generation formula is of the form
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-351-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-351">wasGeneratedBy(id,e,a,t,attrs)</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-352-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-352">id</script> is an event identifier,
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-353-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-353">e</script> is an entity identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-354-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-354">a</script> is an activity identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-355-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-355">attrs</script> is
+a set of attribute-value pairs, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-356-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-356">t</script> is a time.
+</p>
+<div class="semantics" id="generation-semantics" data-count="20" data-title="Semantics 20 (generation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#generation-semantics">Semantics 20 (generation-semantics)</a></div>
+ <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-357-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-357">W,\rho \models
+  wasGeneratedBy(id,e,a,t,attrs)</script>  holds if and only if:
+</p><ol>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-358-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-358">id</script> denotes a generation event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-359-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-359">evt = \rho(id) \in Generations</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-360-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-360">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-361-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-361">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-362-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-362">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-363-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-363">act = \rho(a) \in Activities</script>.
+</li>
+<li>The event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-364-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-364">evt</script> occurred at time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-365-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-365">\rho(t) \in Times</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-366-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-366">time(evt) = \rho(t)</script>.
+</li>
+<li>The activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-367-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-367">act</script> generated <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-368-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-368">ent</script> via <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-369-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-369">evt</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-370-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-370">generated(evt) = (ent,act)</script>.
+</li>
+<li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-371-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-371">match(W,evt,attrs)</script>.
+</li>
+</ol>
+</div>
+
+</section>
+<section id="use">
+<h4><span class="secno">4.4.2 </span> Use </h4>
+
+<p>The use formula is of the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-372-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-372">used(id,a,e,t,attrs)</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-373-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-373">id</script>
+denotes an event, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-374-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-374">a</script> is an activity identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-375-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-375">e</script> is an object
+identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-376-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-376">attrs</script> is a set of attribute-value pairs, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-377-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-377">t</script> is a time.
+</p>
+<div class="semantics" id="usage-semantics" data-count="21" data-title="Semantics 21 (usage-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#usage-semantics">Semantics 21 (usage-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-378-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-378">W,\rho \models used(id,a,e,t,attrs)</script> holds if and only if:</p>
+  <ol>
+
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-379-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-379">id</script> denotes a usage event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-380-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-380">evt = \rho(id) \in Usages</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-381-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-381">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-382-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-382">act = \rho(id) \in Activities</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-383-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-383">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-384-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-384">ent = \rho(e) \in Entities</script>.
+</li>
+<li>The event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-385-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-385">evt</script> occurred at time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-386-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-386">\rho(t) \in Times</script>,
+i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-387-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-387">time(evt) = \rho(t)</script>.
+</li>
+<li>The activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-388-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-388">act</script> used <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-389-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><mi>j</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-389">obj</script> via <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-390-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-390">evt</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-391-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-391">used(evt) = (act,ent)</script>.
+</li>
+<li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-392-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-392">match(W,evt,attrs)</script>.
+</li></ol></div>
+
+</section>
+<section id="invalidation">
+<h4><span class="secno">4.4.3 </span> Invalidation </h4>
+
+<p>The invalidation formula is of the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-393-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-393">wasInvalidatedBy(id,e,a,t,attrs)</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-394-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-394">id</script> is an event identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-395-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-395">e</script> is an entity identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-396-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-396">a</script> is an activity identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-397-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-397">attrs</script> is a set of attribute-value pairs, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-398-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-398">t</script> is a time.</p>
+
+<div class="semantics" id="invalidation-semantics" data-count="22" data-title="Semantics 22 (invalidation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#invalidation-semantics">Semantics 22 (invalidation-semantics)</a></div> <p>An invalidation formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-399-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-399">W,\rho \models
+  wasInvalidatedBy(id,e,a,t,attrs)</script> holds  if and only if:</p>
+<ol>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-400-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-400">id</script> denotes an invalidation event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-401-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-401">evt = \rho(id) \in Invalidations</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-402-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-402">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-403-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-403">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-404-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-404">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-405-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-405">act = \rho(a) \in Activities</script>.
+</li>
+<li>The event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-406-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-406">evt</script> occurred at time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-407-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-407">\rho(t) \in Times</script>,
+  i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-408-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-408">time(evt) = \rho(t)</script>.
+</li>
+<li>The activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-409-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-409">act</script> invalidated <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-410-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-410">ent</script> via <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-411-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-411">evt</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-412-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-412">invalidated(evt) = (ent,act)</script>.
+</li>
+<li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-413-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-413">match(W,evt,attrs)</script>.
+</li></ol></div>
+</section>
+
+<section id="association">
+
+<h4><span class="secno">4.4.4 </span> Association </h4>
+
+<p>An association formula has the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-414-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-414">wasAssociatedWith(id,a,ag,pl,attrs)</script>.</p>
+
+<div class="semantics" id="association-plan-semantics" data-count="23" data-title="Semantics 23 (association-plan-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#association-plan-semantics">Semantics 23 (association-plan-semantics)</a></div><p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-415-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-415">W,\rho \models wasAssociatedWith(id,a,ag,pl,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-416-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-416">assoc</script> denotes an association <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-417-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-417">assoc = \rho(id) \in Associations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-418-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-418">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-419-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-419">act = \rho(a) \in Activities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-420-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-420">ag</script> denotes an agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-421-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-421">agent = \rho(ag) \in Agents</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-422-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-422">pl</script> denotes a plan <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-423-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mi>l</mi><mi>a</mi><mi>n</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>p</mi><mi>l</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>P</mi><mi>l</mi><mi>a</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-423">plan=\rho(pl) \in Plans</script>.
+</li>
+<li>The association associates the agent with the activity and plan, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-424-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mi>a</mi><mi>n</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-424">associatedWith(assoc) = (agent,act,plan)</script>.
+</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-425-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-425">match(W,assoc,attrs)</script>.
+</li></ol></div>
+
+<div class="semantics" id="assocation-semantics" data-count="24" data-title="Semantics 24 (assocation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#assocation-semantics">Semantics 24 (assocation-semantics)</a></div><p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-426-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-426">W,\rho \models wasAssociatedWith(id,a,ag,-,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-427-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-427">assoc</script> denotes an association <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-428-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-428">assoc = \rho(id) \in Associations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-429-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-429">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-430-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-430">act = \rho(a) \in Activities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-431-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-431">ag</script> denotes an agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-432-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-432">agent = \rho(ag) \in Agents</script>.
+</li>
+<li>The association associates the agent with the activity and no
+  plan, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-433-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi mathvariant="normal">⊥</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-433">associatedWith(assoc) = (agent,act,\bot)</script>.
+</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-434-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-434">match(W,assoc,attrs)</script>.
+</li></ol></div>
+</section>
+<section id="start">
+<h4><span class="secno">4.4.5 </span> Start </h4>
+
+<p>A start formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-435-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-435">wasStartedBy(id,a_2,e,a_1,t,attrs)</script> is interpreted as follows:</p>
+
+<div class="semantics" id="start-semantics" data-count="25" data-title="Semantics 25 (start-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#start-semantics">Semantics 25 (start-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-436-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-436">W,\rho \models wasStartedBy(id,a_2,e,a_1,t,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-437-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-437">id</script> denotes a start event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-438-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-438">evt = \rho(id) \in Starts</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-439-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-439">a_2</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-440-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-440">act_2 = \rho(a_2) \in Activities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-441-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-441">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-442-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-442">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-443-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-443">a_1</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-444-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-444">act_1 = \rho(a_1) \in Activities</script>.
+</li>
+<li>The event happened at the start of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-445-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-445">act_2</script>, that is, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-446-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-446">\rho(t) = startTime(act_2) = time(evt)</script>.
+</li>
+<li> The activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-447-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-447">act_1</script> started <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-448-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-448">act_2</script> via entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-449-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-449">ent</script>: that is,
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-450-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-450">started(evt) = (act_2,ent,act_1)</script>.</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-451-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-451">match(W,evt,attrs)</script>.
+</li></ol></div>
+</section>
+<section id="end">
+<h4><span class="secno">4.4.6 </span> End </h4>
+
+<p>An activity end formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-452-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-452">wasEndedBy(id,a_2,e,a_1,t,attrs)</script> is interpreted as follows:</p>
+
+<div class="semantics" id="end-semantics" data-count="26" data-title="Semantics 26 (end-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#end-semantics">Semantics 26 (end-semantics)</a></div>
+<p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-453-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-453">W,\rho \models wasEndedBy(id,a_2,e,a_1,t,attrs)</script> holds if and only
+  if:</p>
+  
+<ol>
+  <li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-454-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-454">id</script> denotes an end event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-455-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>d</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-455">evt = \rho(id) \in Ends</script>.</li>
+<li> [WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-456-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-456">a_2</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-457-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-457">act_2 = \rho(a_2)\in Activities</script>.</li>
+<li> [WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-458-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-458">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-459-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-459">ent = \rho(e)\in Entities</script>.</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-460-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-460">a_1</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-461-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-461">act_1 = \rho(a_1)\in Activities</script>.</li>
+<li>The event happened at the end of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-462-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-462">act_2</script>, that is, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-463-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>e</mi><mi>n</mi><mi>d</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-463">\rho(t) = endTime(act_2) = time(evt)</script>.</li>
+<li> The activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-464-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-464">act_1</script> ended <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-465-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-465">act_2</script> via entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-466-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-466">ent</script>: that is,
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-467-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-467">ended(evt) = (act_2,ent,act_1)</script>.</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-468-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-468">match(W,evt,attrs)</script>.</li>
+</ol>
+</div>
+</section>
+
+<section id="attribution">
+<h4><span class="secno">4.4.7 </span> Attribution </h4>
+
+<p>
+An attribution formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-469-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-469">wasAttributedTo(id,e,ag,attrs)</script> is interpreted as follows:
+</p>
+<div class="semantics" id="attribution-semantics" data-count="27" data-title="Semantics 27 (attribution-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#attribution-semantics">Semantics 27 (attribution-semantics)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-470-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-470">W,\rho \models wasAttributedTo(id,e,ag,attrs)</script>
+  holds if and only if:
+  </p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-471-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-471">id</script> denotes an association <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-472-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-472">assoc = \rho(id) \in Associations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-473-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-473">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-474-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-474">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-475-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-475">ag</script> denotes an agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-476-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-476">agent = \rho(ag) \in Agents</script>.
+</li>
+<li>The entity was attributed to the agent, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-477-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-477">attributedTo(assoc)
+= (ent,agent)</script>.
+</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-478-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-478">match(W,assoc,attrs)</script>.
+</li></ol>
+</div>
+</section>
+
+
+<section id="communication">
+<h4><span class="secno">4.4.8 </span>Communication</h4>
+<p>A communication formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-479-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-479">wasInformedBy(id,a_2,a_2,attrs)</script> is
+interpreted as follows: </p>
+<div class="semantics" id="communication-semantics" data-count="28" data-title="Semantics 28 (communication-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#communication-semantics">Semantics 28 (communication-semantics)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-480-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-480">W,\rho \models wasInformedBy(id,a_2,a_1,attrs)</script>
+  holds if and only if:
+  </p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-481-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-481">id</script> denotes a communication <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-482-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-482">comm = \rho(id) \in Communications</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-483-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-483">a_1,a_2</script> denote  activities <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-484-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-484">act_1 = \rho(a_1) \in
+Activities, act_2 = \rho(a_2)\in Activities</script>.
+</li>
+<li>There exist <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-485-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-485">gen,use,ent</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-486-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-486">communicatedBy(comm) =
+(act_2,act_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-487-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-487">generated(gen) = (ent,act_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-488-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-488">used(use) = (act_2,ent)</script>.
+</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-489-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-489">match(W,comm,attrs)</script>.
+</li></ol>
+</div>
+</section>
+
+
+<section id="delegation">
+
+<h4><span class="secno">4.4.9 </span> Delegation </h4>
+
+<p>The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-490-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-490">actedOnBehalfOf(id,ag_2,ag_1,act,attrs)</script> relation is interpreted using the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-491-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>c</mi><mi>t</mi><mi>s</mi><mi>F</mi><mi>o</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-491">ActsFor</script> relation as follows:</p>
+
+<div class="semantics" id="delegation-semantics" data-count="29" data-title="Semantics 29 (delegation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#delegation-semantics">Semantics 29 (delegation-semantics)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-492-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-492">W,\rho \models actedOnBehalfOf(id,ag_2,ag_1,act,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-493-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-493">id</script> denotes a delegation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-494-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-494">deleg=\rho(id) \in Delegations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-495-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-495">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-496-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-496">act=\rho(a) \in Activities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-497-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-497">ag_1,ag_2</script> denote agents <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-498-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-498">agent_1=\rho(ag_1), agent_2=\rho(ag_2) \in Agents</script>.
+</li>
+<li>The agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-499-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-499">agent_2</script> acted for the agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-500-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-500">agent_1</script> with respect to
+  the activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-501-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-501">act</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-502-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-502">actedFor(deleg) = (agent_2,agent_1,act)</script>.
+</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-503-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>d</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-503">match(W,deleg,attrs)</script>.
+</li></ol></div>
+</section>
+
+
+<section id="derivation">
+
+<h4><span class="secno">4.4.10 </span> Derivation </h4>
+
+<p>
+Derivation formulas can be of one of two forms:</p>
+<ul><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-504-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-504">wasDerivedFrom(id,e_2,e_1,a,g,u,attrs)</script>, which specifies an
+  activity, generation and usage event.  For convenience we call this
+  a <dfn id="dfn-precise-derivation">precise derivation</dfn>.</li>
+  <li> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-505-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-505">wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)</script>, which does not
+  specify an activity, generation and usage event.  For convenience we
+  call this an <dfn id="dfn-imprecise-derivation">imprecise derivation</dfn>.</li>
+  </ul>
+
+<section id="precise">
+<h5><span class="secno">4.4.10.1 </span> Precise </h5>
+
+<p>A precise derivation formula has the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-506-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-506">wasDerivedFrom(id,e_2,e_1,a,g,u,attrs)</script>.
+</p>
+<div class="semantics" id="derivation-precise-semantics" data-count="30" data-title="Semantics 30 (derivation-precise-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#derivation-precise-semantics">Semantics 30 (derivation-precise-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-507-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-507">W,\rho \models wasDerivedFrom(id,e_2,e_1,act,g,u,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-508-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-508">id</script> denotes a derivation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-509-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-509">deriv = \rho(id) \in Derivations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-510-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-510">e_1,e_2</script> denote entities <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-511-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-511">ent_1 = \rho(e_1), ent_2=\rho(e_2)  \in Entities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-512-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-512">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-513-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-513">act = \rho(a) \in Activities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-514-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-514">g</script> denotes a generation event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-515-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-515">gen = \rho(g) \in Generations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-516-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-516">u</script> denotes a use event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-517-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-517">\rho(u) \in Usages</script>.
+</li>
+<li>The derivation denotes a one-step derivation path linking the
+entities via the activity, generation and use: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-518-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">⋅</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">⋅</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-518">derivationPath(deriv) =
+ent_2 \cdot gen \cdot act \cdot use \cdot ent_1</script>.
+</li>
+<li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-519-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-519">match(W,deriv,attrs)</script>.</li>
+</ol>
+</div>
+</section>
+<section id="imprecise">
+
+<h5><span class="secno">4.4.10.2 </span> Imprecise </h5>
+<p>
+An imprecise derivation formula has the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-520-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-520">wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)</script>.</p>
+
+<div class="semantics" id="derivation-imprecise-semantics" data-count="31" data-title="Semantics 31 (derivation-imprecise-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#derivation-imprecise-semantics">Semantics 31 (derivation-imprecise-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-521-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-521">W,\rho \models wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-522-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-522">id</script> denotes a derivation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-523-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-523">deriv = \rho(id) \in Derivations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-524-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-524">e_1,e_2</script> denote entities <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-525-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-525">ent_1 = \rho(e_1), ent_2=\rho(e_2)  \in Entities</script> .
+</li>
+<li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-526-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>w</mi><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-526">derivationPath(deriv)= ent_2 \cdot  w \cdot ent_1</script> for some <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-527-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-527">w</script>.
+</li>
+<li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-528-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-528">match(W,deriv,attrs)</script>.
+</li></ol></div>
+</section>
+</section>
+
+  <section id="influence">
+  <h4><span class="secno">4.4.11 </span>Influence</h4>
+
+  <div class="semantics" id="influence-semantics" data-count="32" data-title="Semantics 32 (influence-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#influence-semantics">Semantics 32 (influence-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-529-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>o</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>o</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-529">W,\rho \models wasInfluencedBy(id,o_2,o_1,attrs)</script> holds if
+  and only if at least one of the following hold:</p>
+    <ol>
+      <li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-530-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-530">id</script> denotes an influence <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-531-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-531">inf = \rho(id)  \in Influences</script>.
+      </li><li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-532-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>o</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-532">o_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-533-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>o</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-533">o_2</script> denote objects <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-534-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>o</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-534">obj_1 = \rho(o_1) \in
+  Objects</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-535-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>o</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-535">obj_2= \rho(o_2)
+  \in Objects</script>.</li>
+  <li>The influence <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-536-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-536">inf</script> links <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-537-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>o</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-537">o_2</script> with <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-538-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>o</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-538">o_1</script>; that is,
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-539-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>f</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>o</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>o</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-539">influenced(inf) = (o_2,o_1)</script>.
+  </li>
+  <li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-540-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-540">match(W,deriv,attrs)</script>.
+</li>
+      </ol>
+
+      
+  </div></section>
+
+<section id="specialization">
+<h4><span class="secno">4.4.12 </span> Specialization </h4>
+
+<p>The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-541-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-541">specializationOf(e_1,e_2)</script> relation indicates when one entity formula presents more specific aspects of another.  
+</p>
+
+    
+<div class="semantics" id="specialization-semantics" data-count="33" data-title="Semantics 33 (specialization-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#specialization-semantics">Semantics 33 (specialization-semantics)</a></div>  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-542-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-542">W,\rho \models specializationOf(e_1,e_2)</script> holds if and only if:</p>
+<ol>
+<li>[WF] Both <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-543-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-543">e_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-544-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-544">e_2</script> are entity identifiers, denoting
+  distinct entities <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-545-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-545">ent_1
+  = \rho(e_1) \in Entities</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-546-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-546">ent_2 = \rho(e_2) \in Entities</script>.
+</li>
+<!--<li>$(ent_1,ent_2) \in SpecializationOf$.-->
+<ol>
+  <li>The two entities are different: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-547-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">≠</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-547">ent_1 \neq ent_2</script>.
+  </li><li>The two entities present aspects of the same thing, that is, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-548-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-548">thingOf(ent_1) = thingOf(ent_2)</script>.
+</li>
+<li>The lifetime of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-549-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-549">ent_1</script> is contained in that of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-550-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-550">ent_2</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-551-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">⊆</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-551">lifetime(ent_1) \subseteq lifetime(ent_2)</script>.
+</li>
+<li>For each attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-552-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-552">attr</script> we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-553-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mo stretchy="false">)</mo><mo stretchy="false">⊇</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-553">value(ent_1,attr) \supseteq value(ent_2,attr)</script>.</li>
+<li>At least one of these inclusions is strict: that is, either
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-554-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">⊊</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-554">lifetime(ent_1) \subsetneq lifetime(ent_2)</script> or for some <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-555-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-555">attr</script> we
+ value(ent_1,attr) \supsetneq value(ent_2,attr)$.
+</li>
+</ol>
+</ol></div>
+
+<div class="remark">
+  <!--<p>The conditions on the $SpecializationOf$ relation imply that:</p>
+<ol>
+  <li>The two entities are different: $ent_1 \neq ent_2$.
+  <li>The two Entities refer to the same Thing, that is, $thingOf(ent_1) = thingOf(ent_2)$.
+</li>
+<li>The lifetime of $ent_1$ is contained in that of $ent_2$, i.e. $lifetime(ent_1) \subseteq lifetime(ent_2)$.
+</li>
+<li>For each attribute $attr$ we have $value(ent_1,attr) \supseteq value(ent_2,attr)$.
+</li></ol>
+-->
+<p>The second criterion says that the two Entities present (possibly different) aspects of
+the same Thing. Note that the third criterion allows <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-556-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-556">ent_1</script> and
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-557-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-557">ent_2</script> to have the same lifetime (or that of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-558-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-558">ent_2</script> can be larger).
+The last criterion allows <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-559-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-559">ent_1</script> to have more defined attributes than
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-560-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-560">ent_2</script>, but they must include the attributes defined by <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-561-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-561">ent_2</script>.  Two
+  different entities that have the same attributes can also be related
+  by specialization.  
+</p>
+</div>
+</section>
+<section id="alternate">
+
+<h4><span class="secno">4.4.13 </span> Alternate </h4>
+
+<p>The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-562-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-562">alternateOf</script> relation indicates when two entity formulas present (possibly different) aspects of the same thing.  The two entities may or may not overlap in time.
+</p>
+<div class="semantics" id="alternate-semantics" data-count="34" data-title="Semantics 34 (alternate-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#alternate-semantics">Semantics 34 (alternate-semantics)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-563-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-563">W,\rho \models alternateOf(e_1,e_2)</script> holds if and only if:</p>
+<ol>
+<li>[WF] Both <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-564-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-564">e_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-565-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-565">e_2</script> are entity identifiers, denoting <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-566-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-566">ent_1 = \rho(e_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-567-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-567">ent_2 = \rho(e_2)</script>.
+</li>
+<li>The two objects refer to the same underlying Thing: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-568-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-568">thingOf(ent_1) = thingOf(ent_2)</script>
+</li></ol>
+</div>
+
+
+</section>
+
+
+<section id="membership">
+
+<h4><span class="secno">4.4.14 </span> Membership </h4>
+
+<p>The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-569-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>h</mi><mi>a</mi><mi>d</mi><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-569">hadMember</script> relation relates a collection to an element of the collection.
+</p>
+<div class="semantics" id="membership-semantics" data-count="35" data-title="Semantics 35 (membership-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#membership-semantics">Semantics 35 (membership-semantics)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-570-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>h</mi><mi>a</mi><mi>d</mi><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-570">W,\rho \models hadMember(c,e)</script> holds if and only if:</p>
+<ol>
+<li>[WF] Both <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-571-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-571">e_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-572-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-572">e_2</script> are entity identifiers, denoting <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-573-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>l</mi><mi>l</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-573">coll
+  = \rho(c) \in Collections</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-574-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-574">ent = \rho(e) \in Entities</script>.
+</li>
+<li>The entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-575-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-575">ent</script> is a member of the collection <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-576-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>l</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-576">coll</script>: that is,
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-577-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>c</mi><mi>o</mi><mi>l</mi><mi>l</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-577">(ent,coll) \in MemberOf</script>.
+</li></ol>
+</div>
+
+
+
+</section>
+
+</section>
+
+  <section id="semantics-of-auxiliary-formulas">
+  <h3><span class="secno">4.5 </span>Semantics of Auxiliary Formulas</h3>
+  
+  <p>In this section, we define the semantics of additional formulas
+  concerning ordering, null values, and typing.  These are used in the
+  logical versions of constraints.</p>
+  
+  <section id="precedes-and-strictly-precedes">
+  <h4><span class="secno">4.5.1 </span>Precedes and Strictly Precedes</h4>
+  <p>The precedes relation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-578-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-578">x \precedes y</script> holds between two events, one taking
+  place before (or simultaneously with) another.  Its meaning is
+  defined in terms of the quasiordering on events specified by
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-579-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">⪯</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-579">\preceq</script>.  The semantics of strictly precedes (<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-580-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">strictlyPrecedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-580">x
+  \strictlyPrecedes y</script>) is similar, only <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-581-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-581">x</script> must take place strictly
+  before <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-582-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-582">y</script>.  It is interpreted as <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-583-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">≺</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-583">\prec</script>, which we recall is
+  defined from <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-584-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">⪯</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-584">\preceq</script> as <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-585-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mo stretchy="false">≺</mo><mi>y</mi><mspace width="thickmathspace"></mspace><mo stretchy="false">⟺</mo><mspace width="thickmathspace"></mspace><mi>x</mi><mo stretchy="false">⪯</mo><mi>y</mi><mtext>&nbsp;and&nbsp;</mtext><mi>y</mi><mo stretchy="false">⪯̸</mo><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-585">x \prec y \iff x \preceq y \text{ and } y
+  \not\preceq x</script>.</p>
+  <div class="semantics" id="precedes-semantics" data-count="36" data-title="Semantics 36 (precedes-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#precedes-semantics">Semantics 36 (precedes-semantics)</a></div>
+    <ol>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-586-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-586">W,\rho \models x \precedes y</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-587-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-587">\rho(x),\rho(y) \in Events</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-588-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">⪯</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-588">\rho(x) \preceq\rho(y)</script>.</li>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-589-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">strictlyPrecedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-589">W,\rho \models x \strictlyPrecedes y</script> holds if and only if
+       <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-590-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-590">\rho(x),\rho(y) \in Events</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-591-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">≺</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-591">\rho(x) \prec \rho(y)</script>.</li>
+    </ol>
+  </div>
+
+  <div class="remark">
+    <p> Although times are linearly ordered, the time ordering is
+    unrelated to the event ordering. For example:</p>
+    <pre>entity(e)
+activity(a1)
+activity(a2)
+wasGeneratedBy(gen1; e, a1, 2011-11-16T16:05:00)
+wasGeneratedBy(gen2; e, a2, 2012-11-16T16:05:00) //different date
+</pre>
+    <p>This instance is valid, and must satisfy precedence constraints
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-592-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-592">gen_1 \precedes gen_2</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-593-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-593">gen_2 \precedes gen_1</script>, but this does not
+    imply anything about the relative orderings of the associated
+    times, or vice versa.
+    </p>
+    
+  </div>
+  </section>
+  
+  <section id="notnull">
+  <h4><span class="secno">4.5.2 </span>notNull</h4>
+  <p>The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-594-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-594">notNull(x)</script> formula is used to specify that a value may not
+  be the null value <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-595-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-595">\bot</script>.  The symbol <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-596-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-596">-</script> always denotes the null
+  value (i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-597-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mo stretchy="false">−</mo><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-597">\rho(-) = \bot</script>).
+  </p><div class="semantics" id="notNull-semantics" data-count="37" data-title="Semantics 37 (notNull-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#notNull-semantics">Semantics 37 (notNull-semantics)</a></div>
+    <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-598-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-598">W,\rho\models notNull(e)</script> holds if and only if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-599-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">≠</mo><mi mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-599">\rho(e) \neq
+  \bot</script>.
+      </p>
+  </div> 
+
+      </section>
+
+  <section id="typeof">
+  <h4><span class="secno">4.5.3 </span>typeOf</h4>
+  
+  <p>The typing formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-600-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-600">typeOf(x,t)</script> constrains the type of the value of
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-601-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-601">x</script>.  </p>
+
+  <div class="semantics" id="typeOf-semantics" data-count="38" data-title="Semantics 38 (typeOf-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#typeOf-semantics">Semantics 38 (typeOf-semantics)</a></div>
+    <ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-602-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-602">W,\rho\models typeOf(e,entity)</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-603-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-603">\rho(e) \in Entities</script>.</li>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-604-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-604">W,\rho\models typeOf(a,activity)</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-605-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-605">\rho(a) \in Activities</script>.</li>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-606-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-606">W,\rho\models typeOf(ag,agent)</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-607-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-607">\rho(ag) \in Agents</script>.</li>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-608-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-608">W,\rho\models typeOf(c,Collection)</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-609-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-609">\rho(c) \in Collections</script>.</li>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-610-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>E</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-610">W,\rho\models typeOf(c,EmptyCollection)</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-611-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-611">\rho(c) \in Collections</script> and there is no <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-612-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-612">e \in Entities</script> such
+    that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-613-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-613">(e,\rho(c)) \in MemberOf</script>.</li>
+      </ol>
+      
+    </div>
+    
+    
+    </section>
+    </section>
+    </section>
+    
+<section id="theory">
+<!--OddPage--><h2><span class="secno">5. </span> Inferences and Constraints </h2>
+
+    <p>
+    In this section we restate all of the inferences and constraints
+    of PROV-CONSTRAINTS in terms of first-order logic.  For each, we
+    give a proof sketch showing why the inference or constraint is
+    sound for reasoning about the naive semantics.  We exclude the
+    definitional rules in PROV-CONSTRAINTS because they are only
+    needed for expanding the abbreviated forms of PROV-N statements to
+    the logical formulas used here.</p>
+<section id="inferences">
+<h3><span class="secno">5.1 </span>Inferences</h3>
+
+<div class="inference" id="communication-generation-use-inference"><div class="ruleTitle"><a class="internalDFN" href="#communication-generation-use-inference">Inference 5 (communication-generation-use-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-614-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>e</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-614">\begin{array}[t]{l}
+\forall id,a_2,a_1,attrs.~
+\\
+\qquad wasInformedBy(id,a_2,a_1,attrs)
+\\
+\quad\Rightarrow
+\exists e,gen,t_1,use,t_2.~wasGeneratedBy(gen,e,a_1,t_1,[]) \wedge used(use,a_2,e,t_2,[])
+\end{array}</script></div>
+
+<div class="proof">
+<p> This follows immediately from the semantics of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-615-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-615">wasInformedBy</script>.</p>
+  </div>
+<div class="inference" id="generation-use-communication-inference"><div class="ruleTitle"><a class="internalDFN" href="#generation-use-communication-inference">Inference 6 (generation-use-communication-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-616-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>i</mi><mi>d</mi><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-616">\begin{array}[t]{l}
+\forall gen,e,a_1,t_1,attrs_1,use,a_2,t_2,attrs_2.~
+\\
+\qquad wasGeneratedBy(gen,e,a_1,t_1,attrs_1) \wedge used(use,a_2,e,t_2,attrs_2)
+\\
+\quad\Rightarrow
+\exists id.~wasInformedBy(id,a_2,a_1,[])
+\end{array}</script></div>
+<div class="proof">
+<p> This follows from the semantics of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-617-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-617">wasInformedBy</script> and <a href="#axiom1">Axiom 1</a>.</p>
+  </div>
+<div class="inference" id="entity-generation-invalidation-inference"><div class="ruleTitle"><a class="internalDFN" href="#entity-generation-invalidation-inference">Inference 7 (entity-generation-invalidation-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-618-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-618">\begin{array}[t]{l}
+\forall e,attrs.~
+\\
+\qquad entity(e,attrs)
+\\
+\quad\Rightarrow
+\exists gen,a_1,t_1,inv,a_2,t_2.~wasGeneratedBy(gen,e,a_1,t_1,[]) \wedge wasInvalidatedBy(inv,e,a_2,t_2,[])
+\end{array}</script></div>
+
+<div class="proof">
+  <p> This follows from the semantics of entity formulas, specifically
+  the requirement that generation and invalidation events exist for
+  the entity.</p>
+  </div>
+<div class="inference" id="activity-start-end-inference"><div class="ruleTitle"><a class="internalDFN" href="#activity-start-end-inference">Inference 8 (activity-start-end-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-619-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-619">\begin{array}[t]{l}
+\forall a,t_1,t_2,attrs.~
+\\
+\qquad activity(a,t_1,t_2,attrs)
+\\
+\quad\Rightarrow
+\exists start,e_1,a_1,end,a_2,e_2.~wasStartedBy(start,a,e_1,a_1,t_1,[]) \wedge wasEndedBy(end,a,e_2,a_2,t_2,[])
+\end{array}</script></div>
+
+<div class="proof">
+  <p> This follows from the semantics of activity formulas, specifically
+  the requirement that start and end events exist for
+  the activity.</p>
+  </div>
+
+  
+<div class="inference" id="wasStartedBy-inference"><div class="ruleTitle"><a class="internalDFN" href="#wasStartedBy-inference">Inference 9 (wasStartedBy-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-620-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-620">\begin{array}[t]{l}
+\forall id,a,e_1,a_1,t,attrs.~
+\\
+\qquad wasStartedBy(id,a,e_1,a_1,t,attrs)
+\\
+\quad\Rightarrow
+\exists gen,t_1.~wasGeneratedBy(gen,e_1,a_1,t_1,[])
+\end{array}</script></div>
+
+<div class="proof">
+  <p>This follows from <a href="#axiom2">Axiom 2</a>.</p>
+  </div>
+<div class="inference" id="wasEndedBy-inference"><div class="ruleTitle"><a class="internalDFN" href="#wasEndedBy-inference">Inference 10 (wasEndedBy-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-621-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-621">\begin{array}[t]{l}
+\forall id,a,e_1,a_1,t,attrs.~
+\\
+\qquad wasEndedBy(id,a,e_1,a_1,t,attrs)
+\\
+\quad\Rightarrow
+\exists gen,t_1.~wasGeneratedBy(gen,e_1,a_1,t_1,[])
+\end{array}</script></div>
+
+<div class="proof">
+  <p>This follows from <a href="#axiom3">Axiom 3</a>.</p>
+  </div>
+<div class="inference" id="derivation-generation-use-inference"><div class="ruleTitle"><a class="internalDFN" href="#derivation-generation-use-inference">Inference 11 (derivation-generation-use-inference)</a></div>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-622-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-622">\begin{array}[t]{l}
+\forall id,e_2,e_1,a,gen_2,use_1,attrs.~
+\\
+\qquad notNull(a) \wedge notNull(gen_2) \wedge notNull(use_1) \wedge wasDerivedFrom(id,e_2,e_1,a,gen_2,use_1,attrs)
+\\
+\quad\Rightarrow
+\exists t_1,t_2.~used(use_1,a,e_1,t_1,[]) \wedge wasGeneratedBy(gen_2,e_2,a,t_2,[])
+\end{array}</script></div>
+
+<div class="proof">
+  <p> This follows from the semantics of precise derivation steps.</p>
+  </div>
+  
+<div class="inference" id="revision-is-alternate-inference"><div class="ruleTitle"><a class="internalDFN" href="#revision-is-alternate-inference">Inference 12 (revision-is-alternate-inference)</a></div>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-623-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">=</mo><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>R</mi><mi>e</mi><mi>v</mi><mi>i</mi><mi>s</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-623">\begin{array}[t]{l}
+\forall id,e_1,e_2,a,g,u.~
+\\
+\qquad wasDerivedFrom(id,e_2,e_1,a,g,u,[prov:type = prov:Revision]))
+\\
+\quad\Rightarrow
+alternateOf(e_2,e_1)
+\end{array}</script></div>
+<div class="proof">
+  <p> This follows from the semantics of derivation steps (precise or
+  imprecise) and <a href="#axiom4">Axiom 4</a>.</p>
+  </div>
+<div class="inference" id="attribution-inference"><div class="ruleTitle"><a class="internalDFN" href="#attribution-inference">Inference 13 (attribution-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-624-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-624">\begin{array}[t]{l}
+\forall att,e,ag,attrs.~
+\\
+\qquad wasAttributedTo(att,e,ag,attrs)
+\\
+\quad\Rightarrow
+\exists a,t,gen,assoc,pl.~wasGeneratedBy(gen,e,a,t,[]) \wedge wasAssociatedWith(assoc,a,ag,pl,[])
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from the semantics of generation, association, and
+  attribution, by <a href="#axiom5">Axiom 5</a></p>
+  </div>
+  
+<div class="inference" id="delegation-inference"><div class="ruleTitle"><a class="internalDFN" href="#delegation-inference">Inference 14 (delegation-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-625-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>i</mi><msub><mi>d</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>i</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><msub><mi>d</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-625">\begin{array}[t]{l}
+\forall id,ag_1,ag_2,a,attrs.~
+\\
+\qquad actedOnBehalfOf(id,ag_1,ag_2,a,attrs)
+\\
+\quad\Rightarrow
+\exists id_1,pl_1,id_2,pl_2.~wasAssociatedWith(id_1,a,ag_1,pl_1,[]) \wedge wasAssociatedWith(id_2,a,ag_2,pl_2,[])
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from the semantics of association and delegation, by <a href="#axiom6">Axiom 6</a></p>
+  </div>
+<div class="inference" id="influence-inference"><div class="ruleTitle"><a class="internalDFN" href="#influence-inference">Inference 15 (influence-inference)</a></div><ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-626-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-626">\begin{array}[t]{l}
+\forall id,e,a,t,attrs.~
+\\
+\qquad wasGeneratedBy(id,e,a,t,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,e,a,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-627-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-627">\begin{array}[t]{l}
+\forall id,a,e,t,attrs.~
+\\
+\qquad used(id,a,e,t,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,a,e,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-628-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-628">\begin{array}[t]{l}
+\forall id,a_2,a_1,attrs.~
+\\
+\qquad wasInformedBy(id,a_2,a_1,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,a_2,a_1,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-629-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-629">\begin{array}[t]{l}
+\forall id,a_2,e,a_1,t,attrs.~
+\\
+\qquad wasStartedBy(id,a_2,e,a_1,t,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,a_2,e,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-630-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-630">\begin{array}[t]{l}
+\forall id,a_2,e,a_1,t,attrs.~
+\\
+\qquad wasEndedBy(id,a_2,e,a_1,t,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,a_2,e,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-631-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-631">\begin{array}[t]{l}
+\forall id,e,a,t,attrs.~
+\\
+\qquad wasInvalidatedBy(id,e,a,t,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,e,a,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-632-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-632">\begin{array}[t]{l}
+\forall id,e_2,e_1,a,g,u,attrs.~
+\\
+\qquad wasDerivedFrom(id,e_2,e_1,a,g,u,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,e_2,e_1,attrs)
+\end{array}</script></li><li>
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-633-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-633">\begin{array}[t]{l}
+\forall id,e,ag,attrs.~
+\\
+\qquad wasAttributedTo(id,e,ag,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,e,ag,attrs)
+\end{array}</script></li><li>
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-634-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-634">\begin{array}[t]{l}
+\forall id,a,ag,pl,attrs.~
+\\
+\qquad wasAssociatedWith(id,a,ag,pl,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,a,ag,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-635-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-635">\begin{array}[t]{l}
+\forall id,ag_2,ag_1,a,attrs.~
+\\
+\qquad actedOnBehalfOf(id,ag_2,ag_1,a,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,ag_2,ag_1,attrs)
+\end{array}</script></li></ol></div>
+
+<div class="proof">
+  <p>This follows via <a href="#axiom7">Axioms 7</a> through <a href="#axiom16">16</a>.
+  </p></div>
+<div class="inference" id="alternate-reflexive"><div class="ruleTitle"><a class="internalDFN" href="#alternate-reflexive">Inference 16 (alternate-reflexive)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-636-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>e</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-636">\begin{array}[t]{l}
+\forall e.~
+\\
+\qquad entity(e)
+\\
+\quad\Rightarrow
+alternateOf(e,e)
+\end{array}</script></div>
+<div class="proof">
+  <p> Suppose <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-637-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-637">ent = \rho(e)</script>.  Clearly <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-638-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-638">ent \in Entities</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-639-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-639">thingOf(ent) = thingOf(ent)</script>, so <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-640-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi&g