packages feed

cpsa-3.3.0: doc/examples/yahalom.xhtml

<?xml version="1.0"?>
<!-- CPSA 3.2.2 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title>Yahalom Protocol with Forwarding Removed</title>
 <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
 <style>
  svg.diagram { border-width: 1px; border-style: solid }
 </style>
</head>
<body>

<pre>(herald &quot;Yahalom Protocol with Forwarding Removed&quot;
  (algebra diffie-hellman) (bound 12))
(comment &quot;CPSA 3.2.2&quot;)
(comment &quot;All input read from yahalom.scm&quot;)</pre>

<p id="top">Trees: <a href="#t0">0</a> <a href="#t52">52</a>.</p>

<p id="t0">Tree <a href="#top">0</a>.</p>

<div>
 <svg
  class='diagram' width='629.040pt' height='1729.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 629.040 1729.920' font-size='12.000'>
  <text
   x='239.640' y='1676.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k13&quot;, &quot;_self&quot;)'>13</text>
  <line
   x1='189.720' y1='1689.960' x2='239.640' y2='1689.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='189.720' y='1676.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k7&quot;, &quot;_self&quot;)'>7</text>
  <line
   x1='139.800' y1='1614.960' x2='189.720' y2='1689.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='1601.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k38&quot;, &quot;_self&quot;)'>38</text>
  <line
   x1='339.480' y1='1614.960' x2='389.400' y2='1614.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='339.480' y='1601.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k27&quot;, &quot;_self&quot;)'>27</text>
  <line
   x1='289.560' y1='1577.460' x2='339.480' y2='1614.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='439.320' y='1526.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k47&quot;, &quot;_self&quot;)'>47</text>
  <line
   x1='389.400' y1='1539.960' x2='439.320' y2='1539.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='1526.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k37&quot;, &quot;_self&quot;)'>37</text>
  <line
   x1='339.480' y1='1539.960' x2='389.400' y2='1539.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='339.480' y='1526.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k26&quot;, &quot;_self&quot;)'>26</text>
  <line
   x1='289.560' y1='1577.460' x2='339.480' y2='1539.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='289.560' y='1563.540' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k18&quot;, &quot;_self&quot;)'>18</text>
  <line
   x1='239.640' y1='1577.460' x2='289.560' y2='1577.460'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='239.640' y='1563.540' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k12&quot;, &quot;_self&quot;)'>12</text>
  <line
   x1='189.720' y1='1577.460' x2='239.640' y2='1577.460'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='189.720' y='1563.540' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k6&quot;, &quot;_self&quot;)'>6</text>
  <line
   x1='139.800' y1='1614.960' x2='189.720' y2='1577.460'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='139.800' y='1601.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k3&quot;, &quot;_self&quot;)'>3</text>
  <line
   x1='89.880' y1='864.960' x2='139.800' y2='1614.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='239.640' y='1451.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k11&quot;, &quot;_self&quot;)'>11</text>
  <line
   x1='189.720' y1='1464.960' x2='239.640' y2='1464.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='189.720' y='1451.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k5&quot;, &quot;_self&quot;)'>5</text>
  <line
   x1='139.800' y1='752.460' x2='189.720' y2='1464.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='1376.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k36&quot;, &quot;_self&quot;)'>36</text>
  <line
   x1='339.480' y1='1389.960' x2='389.400' y2='1389.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='339.480' y='1376.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k25&quot;, &quot;_self&quot;)'>25</text>
  <line
   x1='289.560' y1='1202.460' x2='339.480' y2='1389.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='439.320' y='1301.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k46&quot;, &quot;_self&quot;)'>46</text>
  <line
   x1='389.400' y1='1314.960' x2='439.320' y2='1314.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='1301.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k35&quot;, &quot;_self&quot;)'>35</text>
  <line
   x1='339.480' y1='1239.960' x2='389.400' y2='1314.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='489.240' y='1226.040'
   style='font-style: italic; text-anchor: middle; fill: green;'
   onclick='window.open(&quot;#k16&quot;, &quot;_self&quot;)'>16</text>
  <line
   x1='439.320' y1='1239.960' x2='489.240' y2='1239.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='439.320' y='1226.040' style='text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k45&quot;, &quot;_self&quot;)'>45</text>
  <line
   x1='389.400' y1='1239.960' x2='439.320' y2='1239.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='1226.040' style='text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k34&quot;, &quot;_self&quot;)'>34</text>
  <line
   x1='339.480' y1='1239.960' x2='389.400' y2='1239.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='1151.040'
   style='font-style: italic; text-anchor: middle; fill: green;'
   onclick='window.open(&quot;#k30&quot;, &quot;_self&quot;)'>30</text>
  <line
   x1='339.480' y1='1239.960' x2='389.400' y2='1164.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='339.480' y='1226.040' style='text-anchor: middle; fill: black;'
   onclick='window.open(&quot;#k24&quot;, &quot;_self&quot;)'>24</text>
  <line
   x1='289.560' y1='1202.460' x2='339.480' y2='1239.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='1076.040'
   style='font-style: italic; text-anchor: middle; fill: green;'
   onclick='window.open(&quot;#k16&quot;, &quot;_self&quot;)'>16</text>
  <line
   x1='339.480' y1='1089.960' x2='389.400' y2='1089.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='339.480' y='1076.040' style='text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k23&quot;, &quot;_self&quot;)'>23</text>
  <line
   x1='289.560' y1='1202.460' x2='339.480' y2='1089.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='339.480' y='1001.040'
   style='font-style: italic; text-anchor: middle; fill: green;'
   onclick='window.open(&quot;#k20&quot;, &quot;_self&quot;)'>20</text>
  <line
   x1='289.560' y1='1202.460' x2='339.480' y2='1014.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='289.560' y='1188.540' style='text-anchor: middle; fill: black;'
   onclick='window.open(&quot;#k17&quot;, &quot;_self&quot;)'>17</text>
  <line
   x1='239.640' y1='1127.460' x2='289.560' y2='1202.460'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='339.480' y='926.040'
   style='font-style: italic; text-anchor: middle; fill: green;'
   onclick='window.open(&quot;#k8&quot;, &quot;_self&quot;)'>8</text>
  <line
   x1='289.560' y1='939.960' x2='339.480' y2='939.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='289.560' y='926.040' style='text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k16&quot;, &quot;_self&quot;)'>16</text>
  <line
   x1='239.640' y1='1127.460' x2='289.560' y2='939.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='289.560' y='851.040'
   style='font-style: italic; text-anchor: middle; fill: green;'
   onclick='window.open(&quot;#k14&quot;, &quot;_self&quot;)'>14</text>
  <line
   x1='239.640' y1='1127.460' x2='289.560' y2='864.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='239.640' y='1113.540' style='text-anchor: middle; fill: black;'
   onclick='window.open(&quot;#k10&quot;, &quot;_self&quot;)'>10</text>
  <line
   x1='189.720' y1='714.960' x2='239.640' y2='1127.460'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='339.480' y='776.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k22&quot;, &quot;_self&quot;)'>22</text>
  <line
   x1='289.560' y1='789.960' x2='339.480' y2='789.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='289.560' y='776.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k15&quot;, &quot;_self&quot;)'>15</text>
  <line
   x1='239.640' y1='452.460' x2='289.560' y2='789.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='701.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k33&quot;, &quot;_self&quot;)'>33</text>
  <line
   x1='339.480' y1='714.960' x2='389.400' y2='714.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='339.480' y='701.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k21&quot;, &quot;_self&quot;)'>21</text>
  <line
   x1='289.560' y1='452.460' x2='339.480' y2='714.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='439.320' y='626.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k44&quot;, &quot;_self&quot;)'>44</text>
  <line
   x1='389.400' y1='639.960' x2='439.320' y2='639.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='626.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k32&quot;, &quot;_self&quot;)'>32</text>
  <line
   x1='339.480' y1='452.460' x2='389.400' y2='639.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='439.320' y='551.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k43&quot;, &quot;_self&quot;)'>43</text>
  <line
   x1='389.400' y1='564.960' x2='439.320' y2='564.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='551.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k31&quot;, &quot;_self&quot;)'>31</text>
  <line
   x1='339.480' y1='452.460' x2='389.400' y2='564.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='489.240' y='476.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k50&quot;, &quot;_self&quot;)'>50</text>
  <line
   x1='439.320' y1='489.960' x2='489.240' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='439.320' y='476.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k42&quot;, &quot;_self&quot;)'>42</text>
  <line
   x1='389.400' y1='414.960' x2='439.320' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='489.240' y='401.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k49&quot;, &quot;_self&quot;)'>49</text>
  <line
   x1='439.320' y1='414.960' x2='489.240' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='439.320' y='401.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k41&quot;, &quot;_self&quot;)'>41</text>
  <line
   x1='389.400' y1='414.960' x2='439.320' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='589.080' y='326.040'
   style='font-style: italic; text-anchor: middle; fill: green;'
   onclick='window.open(&quot;#k28&quot;, &quot;_self&quot;)'>28</text>
  <line
   x1='539.160' y1='339.960' x2='589.080' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='539.160' y='326.040' style='text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k51&quot;, &quot;_self&quot;)'>51</text>
  <line
   x1='489.240' y1='339.960' x2='539.160' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='489.240' y='326.040' style='text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k48&quot;, &quot;_self&quot;)'>48</text>
  <line
   x1='439.320' y1='339.960' x2='489.240' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='439.320' y='326.040' style='text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k40&quot;, &quot;_self&quot;)'>40</text>
  <line
   x1='389.400' y1='414.960' x2='439.320' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='401.040' style='text-anchor: middle; fill: black;'
   onclick='window.open(&quot;#k30&quot;, &quot;_self&quot;)'>30</text>
  <line
   x1='339.480' y1='452.460' x2='389.400' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='489.240' y='251.040'
   style='font-style: italic; text-anchor: middle; fill: green;'
   onclick='window.open(&quot;#k28&quot;, &quot;_self&quot;)'>28</text>
  <line
   x1='439.320' y1='264.960' x2='489.240' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='439.320' y='251.040' style='text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k39&quot;, &quot;_self&quot;)'>39</text>
  <line
   x1='389.400' y1='264.960' x2='439.320' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='251.040' style='text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k29&quot;, &quot;_self&quot;)'>29</text>
  <line
   x1='339.480' y1='452.460' x2='389.400' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='339.480' y='438.540' style='text-anchor: middle; fill: black;'
   onclick='window.open(&quot;#k20&quot;, &quot;_self&quot;)'>20</text>
  <line
   x1='289.560' y1='452.460' x2='339.480' y2='452.460'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='439.320' y='176.040'
   style='font-style: italic; text-anchor: middle; fill: green;'
   onclick='window.open(&quot;#k8&quot;, &quot;_self&quot;)'>8</text>
  <line
   x1='389.400' y1='189.960' x2='439.320' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='389.400' y='176.040' style='text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k28&quot;, &quot;_self&quot;)'>28</text>
  <line
   x1='339.480' y1='189.960' x2='389.400' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='339.480' y='176.040' style='text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k19&quot;, &quot;_self&quot;)'>19</text>
  <line
   x1='289.560' y1='452.460' x2='339.480' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='289.560' y='438.540' style='text-anchor: middle; fill: black;'
   onclick='window.open(&quot;#k14&quot;, &quot;_self&quot;)'>14</text>
  <line
   x1='239.640' y1='452.460' x2='289.560' y2='452.460'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='289.560' y='101.040'
   style='font-style: italic; text-anchor: middle; fill: green;'
   onclick='window.open(&quot;#k8&quot;, &quot;_self&quot;)'>8</text>
  <line
   x1='239.640' y1='452.460' x2='289.560' y2='114.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='239.640' y='438.540' style='text-anchor: middle; fill: black;'
   onclick='window.open(&quot;#k9&quot;, &quot;_self&quot;)'>9</text>
  <line
   x1='189.720' y1='714.960' x2='239.640' y2='452.460'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='239.640' y='26.040'
   style='font-weight: bold; text-anchor: middle; fill: blue;'
   onclick='window.open(&quot;#k8&quot;, &quot;_self&quot;)'>8</text>
  <line
   x1='189.720' y1='714.960' x2='239.640' y2='39.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='189.720' y='701.040' style='text-anchor: middle; fill: black;'
   onclick='window.open(&quot;#k4&quot;, &quot;_self&quot;)'>4</text>
  <line
   x1='139.800' y1='752.460' x2='189.720' y2='714.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='139.800' y='738.540' style='text-anchor: middle; fill: black;'
   onclick='window.open(&quot;#k2&quot;, &quot;_self&quot;)'>2</text>
  <line
   x1='89.880' y1='864.960' x2='139.800' y2='752.460'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='89.880' y='851.040' style='text-anchor: middle; fill: black;'
   onclick='window.open(&quot;#k1&quot;, &quot;_self&quot;)'>1</text>
  <line
   x1='39.960' y1='864.960' x2='89.880' y2='864.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='39.960' y='851.040' style='text-anchor: middle; fill: black;'
   onclick='window.open(&quot;#k0&quot;, &quot;_self&quot;)'>0</text>
  </svg></div>

<pre>(defprotocol yahalom diffie-hellman
  (defrole init
    (vars (a b c name) (n-a n-b text) (k skey))
    (trace (send (cat a n-a)) (recv (enc b k n-a n-b (ltk a c)))
      (send (enc n-b k))))
  (defrole resp
    (vars (b a c name) (n-a n-b text) (k skey))
    (trace (recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
      (recv (enc a k (ltk b c))) (recv (enc n-b k))))
  (defrole serv
    (vars (c a b name) (n-a n-b text) (k skey))
    (trace (recv (cat b (enc a n-a n-b (ltk b c))))
      (send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c))))
    (uniq-orig k)))</pre>

<p id="k0">Item <a href="#t0">0</a>, Child: <a href="#k1">1</a>.</p>

<div>
 <svg
  class='diagram' width='79.920pt' height='379.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 79.920 379.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='39.960' y='39.960' style='text-anchor: middle;'>yahalom 0</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b)
  (label 0)
  (unrealized (0 2) (0 3))
  (origs (n-b (0 1)))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k1">Item <a href="#t0">1</a>, Parent: <a href="#k0">0</a>, Children: <a href="#k2">2</a> <a href="#k3">3</a>.</p>

<div>
 <svg
  class='diagram' width='179.880pt' height='379.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 179.880 379.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='139.920' y1='114.960' x2='139.920' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: red;' cx='139.920' cy='114.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='89.940' y='39.960' style='text-anchor: middle;'>yahalom 1</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (precedes ((1 2) (0 2)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation encryption-test (added-strand serv 3) (enc a k (ltk b c))
    (0 2))
  (label 1)
  (parent 0)
  (unrealized (0 3) (1 0))
  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>

<p id="k2">Item <a href="#t0">2</a>, Parent: <a href="#k1">1</a>, Children: <a href="#k4">4</a> <a href="#k5">5</a>.</p>

<div>
 <svg
  class='diagram' width='179.880pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 179.880 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='89.940' y='39.960' style='text-anchor: middle;'>yahalom 2</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (precedes ((0 1) (1 0)) ((1 2) (0 2)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation encryption-test (displaced 2 0 resp 2)
    (enc a n-a-0 n-b-0 (ltk b c)) (1 0))
  (label 2)
  (parent 1)
  (unrealized (0 3))
  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>

<p id="k3">Item <a href="#t0">3</a>, Parent: <a href="#k1">1</a>, Children: <a href="#k6">6</a> <a href="#k7">7</a>.</p>

<div>
 <svg
  class='diagram' width='279.840pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 279.840 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='189.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='139.920' y='39.960' style='text-anchor: middle;'>yahalom 3</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (precedes ((1 2) (0 2)) ((2 1) (1 0)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation encryption-test (added-strand resp 2)
    (enc a n-a-0 n-b-0 (ltk b c)) (1 0))
  (label 3)
  (parent 1)
  (unrealized (0 3))
  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>

<p id="k4">Item <a href="#t0">4</a>, Parent: <a href="#k2">2</a>, Children: <a href="#k8">8</a> <a href="#k9">9</a> <a href="#k10">10</a>.</p>

<div>
 <svg
  class='diagram' width='279.840pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 279.840 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 239.880 339.960 Q 142.729 338.906 45.578 412.852'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 186.900 264.960 233.880 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='139.920' y='39.960' style='text-anchor: middle;'>yahalom 4</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (precedes ((0 1) (1 0)) ((1 1) (2 1)) ((1 2) (0 2)) ((2 2) (0 3)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation encryption-test (added-strand init 3) (enc n-b k) (0 3))
  (label 4)
  (parent 2)
  (unrealized (2 1))
  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>

<p id="k5">Item <a href="#t0">5</a>, Parent: <a href="#k2">2</a>, Child: <a href="#k11">11</a>.</p>

<div>
 <svg
  class='diagram' width='279.840pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 279.840 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 239.880 339.960 Q 142.729 338.906 45.578 412.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 186.900 264.960 233.880 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='139.920' y='39.960' style='text-anchor: middle;'>yahalom 5</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (deflistener k)
  (precedes ((0 1) (1 0)) ((1 1) (2 0)) ((1 2) (0 2)) ((2 1) (0 3)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation encryption-test (added-listener k) (enc n-b k) (0 3))
  (label 5)
  (parent 2)
  (unrealized (0 3) (2 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k6">Item <a href="#t0">6</a>, Parent: <a href="#k3">3</a>, Child: <a href="#k12">12</a>.</p>

<div>
 <svg
  class='diagram' width='379.800pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 379.800 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='189.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 339.840 339.960 Q 192.810 339.232 45.781 413.504'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-1 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-1)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 264.960 Q 186.900 227.460 333.840 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
  <g>
   <title>((n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='189.900' y='39.960' style='text-anchor: middle;'>yahalom 6</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 n-a-1 text) (a b c a-0 b-0 c-0 name)
    (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (defstrand init 3 (n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (precedes ((0 1) (3 1)) ((1 1) (3 1)) ((1 2) (0 2)) ((2 1) (1 0))
    ((3 2) (0 3)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation encryption-test (added-strand init 3) (enc n-b k) (0 3))
  (label 6)
  (parent 3)
  (unrealized (3 1))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k7">Item <a href="#t0">7</a>, Parent: <a href="#k3">3</a>, Child: <a href="#k13">13</a>.</p>

<div>
 <svg
  class='diagram' width='379.800pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 379.800 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='339.840' y1='264.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='189.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 339.840 339.960 Q 192.810 339.232 45.781 413.504'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='339.840' cy='264.960' r='6.000'/></g>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='189.900' y='39.960' style='text-anchor: middle;'>yahalom 7</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (deflistener k)
  (precedes ((1 1) (3 0)) ((1 2) (0 2)) ((2 1) (1 0)) ((3 1) (0 3)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation encryption-test (added-listener k) (enc n-b k) (0 3))
  (label 7)
  (parent 3)
  (unrealized (0 3) (3 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k8">Item <a href="#t0">8</a>, Parent: <a href="#k4">4</a>.</p>

<div>
 <svg
  class='diagram' width='279.840pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 279.840 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 239.880 339.960 Q 142.729 338.906 45.578 412.852'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 186.900 264.960 233.880 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='139.920' y='39.960'
   style='text-anchor: middle;'>yahalom 8 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (precedes ((0 1) (1 0)) ((1 1) (2 1)) ((1 2) (0 2)) ((2 2) (0 3)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation nonce-test (contracted (a-0 a) (b-0 b) (c-0 c) (n-a-0 n-a))
    n-b (2 1) (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c)))
  (label 8)
  (parent 4)
  (unrealized)
  (shape)
  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
  (origs (k (1 1)) (n-b (0 1))))</pre>

<p id="k9">Item <a href="#t0">9</a>, Parent: <a href="#k4">4</a>, Children: <a href="#k14">14</a> <a href="#k15">15</a>, Seen Child: <a href="#k8">8</a>.</p>

<div>
 <svg
  class='diagram' width='379.800pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 379.800 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='189.900' y='39.960' style='text-anchor: middle;'>yahalom 9</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (precedes ((0 1) (1 0)) ((1 1) (3 1)) ((1 2) (0 2)) ((2 2) (0 3))
    ((3 2) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation nonce-test (added-strand init 3) n-b (2 1)
    (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c)))
  (label 9)
  (parent 4)
  (seen 8)
  (unrealized (2 1))
  (comment &quot;3 in cohort - 2 not yet seen&quot;))</pre>

<p id="k10">Item <a href="#t0">10</a>, Parent: <a href="#k4">4</a>, Children: <a href="#k16">16</a> <a href="#k17">17</a>, Seen Child: <a href="#k14">14</a>.</p>

<div>
 <svg
  class='diagram' width='379.800pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 379.800 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 339.840 264.960 Q 292.860 264.960 245.880 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 339.960 Q 142.729 338.906 45.578 412.852'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 186.900 264.960 233.880 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='189.900' y='39.960' style='text-anchor: middle;'>yahalom 10</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((1 1) (2 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (added-strand serv 2) n-b (2 1)
    (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c)))
  (label 10)
  (parent 4)
  (seen 14)
  (unrealized (2 1))
  (comment &quot;3 in cohort - 2 not yet seen&quot;))</pre>

<p id="k11">Item <a href="#t0">11</a>, Parent: <a href="#k5">5</a>.</p>

<div>
 <svg
  class='diagram' width='279.840pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 279.840 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='239.880' y1='339.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='239.880' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 139.920 339.960 Q 186.900 339.960 233.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='139.920' y='39.960' style='text-anchor: middle;'>yahalom 11</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (deflistener k)
  (precedes ((0 1) (1 0)) ((1 2) (0 2)) ((1 2) (2 0)) ((2 1) (0 3)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation nonce-test (displaced 3 1 serv 3) k (2 0)
    (enc b k n-a n-b (ltk a c)))
  (label 11)
  (parent 5)
  (unrealized (0 3) (2 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k12">Item <a href="#t0">12</a>, Parent: <a href="#k6">6</a>, Child: <a href="#k18">18</a>.</p>

<div>
 <svg
  class='diagram' width='479.760pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 479.760 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 439.800 264.960 Q 392.820 264.960 345.840 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 192.810 339.232 45.781 413.504'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-1 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-1)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g>
   <title>((n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='239.880' y='39.960' style='text-anchor: middle;'>yahalom 12</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 n-a-1 text) (a b c a-0 b-0 c-0 name)
    (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (defstrand init 3 (n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (4 0)) ((1 1) (3 1)) ((1 2) (0 2)) ((2 1) (1 0))
    ((3 2) (0 3)) ((4 1) (3 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (added-strand serv 2) n-b (3 1)
    (enc a n-a n-b (ltk b c)))
  (label 12)
  (parent 6)
  (unrealized (3 1))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k13">Item <a href="#t0">13</a>, Parent: <a href="#k7">7</a>.</p>

<div>
 <svg
  class='diagram' width='379.800pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 379.800 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='339.840' y1='339.960' x2='339.840' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='189.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 339.840 414.960 Q 192.900 377.460 45.960 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='339.840' cy='414.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='339.840' cy='339.960' r='6.000'/></g>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 139.920 339.960 Q 236.880 302.460 333.840 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='189.900' y='39.960' style='text-anchor: middle;'>yahalom 13</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (deflistener k)
  (precedes ((1 2) (0 2)) ((1 2) (3 0)) ((2 1) (1 0)) ((3 1) (0 3)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation nonce-test (displaced 4 1 serv 3) k (3 0)
    (enc b k n-a-0 n-b-0 (ltk a c)))
  (label 13)
  (parent 7)
  (unrealized (0 3) (3 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k14">Item <a href="#t0">14</a>, Parent: <a href="#k9">9</a>, Children: <a href="#k19">19</a> <a href="#k20">20</a> <a href="#k21">21</a>.</p>

<div>
 <svg
  class='diagram' width='479.760pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 479.760 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 439.800 264.960 Q 342.649 263.906 245.498 337.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='239.880' y='39.960' style='text-anchor: middle;'>yahalom 14</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((1 1) (3 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (added-strand serv 2) n-b (2 1) (enc n-b k)
    (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c)))
  (label 14)
  (parent 9)
  (unrealized (2 1))
  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>

<p id="k15">Item <a href="#t0">15</a>, Parent: <a href="#k9">9</a>, Child: <a href="#k22">22</a>.</p>

<div>
 <svg
  class='diagram' width='479.760pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 479.760 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='439.800' y1='264.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 439.800 339.960 Q 342.840 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: blue;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 139.920 264.960 Q 286.860 227.460 433.800 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='239.880' y='39.960' style='text-anchor: middle;'>yahalom 15</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (deflistener k)
  (precedes ((0 1) (1 0)) ((1 1) (3 1)) ((1 1) (4 0)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation nonce-test (added-listener k) n-b (2 1) (enc n-b k)
    (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c)))
  (label 15)
  (parent 9)
  (unrealized (4 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k16">Item <a href="#t0">16</a>, Parent: <a href="#k10">10</a>, Seen Child: <a href="#k8">8</a>.</p>

<div>
 <svg
  class='diagram' width='379.800pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 379.800 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 339.840 264.960 Q 292.860 264.960 245.880 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 339.960 Q 142.729 338.906 45.578 412.852'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 186.900 264.960 233.880 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='189.900' y='39.960'
   style='text-anchor: middle;'>yahalom 16 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((1 1) (2 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (contracted (a-0 a) (b-0 b) (c-0 c) (n-a-0 n-a))
    n-b (2 1) (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)))
  (label 16)
  (parent 10)
  (seen 8)
  (unrealized)
  (comment &quot;1 in cohort - 0 not yet seen&quot;))</pre>

<p id="k17">Item <a href="#t0">17</a>, Parent: <a href="#k10">10</a>, Children: <a href="#k23">23</a> <a href="#k24">24</a> <a href="#k25">25</a>, Seen Child: <a href="#k20">20</a>.</p>

<div>
 <svg
  class='diagram' width='479.760pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 479.760 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 439.800 339.960 Q 342.840 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 264.960 Q 386.820 264.960 433.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 187.500 300.660 235.081 336.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='239.880' y='39.960' style='text-anchor: middle;'>yahalom 17</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((1 1) (2 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 1) (4 1)) ((4 2) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (added-strand init 3) n-b (2 1)
    (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)))
  (label 17)
  (parent 10)
  (seen 20)
  (unrealized (2 1))
  (comment &quot;4 in cohort - 3 not yet seen&quot;))</pre>

<p id="k18">Item <a href="#t0">18</a>, Parent: <a href="#k12">12</a>, Children: <a href="#k26">26</a> <a href="#k27">27</a>.</p>

<div>
 <svg
  class='diagram' width='579.720pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 579.720 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='264.960' x2='339.840' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 539.760 339.960 Q 442.800 302.460 345.840 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 414.960 Q 192.900 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-1 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-1)</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 237.071 263.906 334.222 337.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g>
   <title>((n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='289.860' y='39.960' style='text-anchor: middle;'>yahalom 18</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 n-a-1 text) (a b c a-0 b-0 c-0 name)
    (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (defstrand init 3 (n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (precedes ((0 1) (4 0)) ((1 1) (3 1)) ((1 2) (0 2)) ((2 1) (1 0))
    ((3 2) (0 3)) ((4 1) (5 1)) ((5 2) (3 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (added-strand init 3) n-b (3 1)
    (enc a n-a n-b (ltk b c)) (enc b k-0 n-a n-b (ltk a c)))
  (label 18)
  (parent 12)
  (unrealized (3 1))
  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>

<p id="k19">Item <a href="#t0">19</a>, Parent: <a href="#k14">14</a>, Child: <a href="#k28">28</a>.</p>

<div>
 <svg
  class='diagram' width='479.760pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 479.760 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 439.800 264.960 Q 342.649 263.906 245.498 337.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='239.880' y='39.960'
   style='text-anchor: middle;'>yahalom 19 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((1 1) (3 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (contracted (a-0 a) (b-0 b) (c-0 c) (n-a-0 n-a))
    n-b (2 1) (enc n-b k) (enc a n-a n-b (ltk b c))
    (enc b k n-a n-b (ltk a c)) (enc b k-0 n-a n-b (ltk a c)))
  (label 19)
  (parent 14)
  (unrealized)
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k20">Item <a href="#t0">20</a>, Parent: <a href="#k14">14</a>, Children: <a href="#k29">29</a> <a href="#k30">30</a> <a href="#k31">31</a> <a href="#k32">32</a>.</p>

<div>
 <svg
  class='diagram' width='579.720pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 579.720 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 539.760 339.960 Q 392.820 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='289.860' y='39.960' style='text-anchor: middle;'>yahalom 20</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((1 1) (3 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (5 1)) ((5 2) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (added-strand init 3) n-b (2 1) (enc n-b k)
    (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)))
  (label 20)
  (parent 14)
  (unrealized (2 1))
  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>

<p id="k21">Item <a href="#t0">21</a>, Parent: <a href="#k14">14</a>, Child: <a href="#k33">33</a>.</p>

<div>
 <svg
  class='diagram' width='579.720pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 579.720 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='539.760' y1='264.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 539.760 339.960 Q 392.820 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='539.760' cy='264.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 342.649 263.906 245.498 337.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: blue;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 139.920 264.960 Q 336.840 227.460 533.760 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='289.860' y='39.960' style='text-anchor: middle;'>yahalom 21</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (deflistener k)
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((1 1) (3 1)) ((1 1) (5 0))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (2 1))
    ((5 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (added-listener k) n-b (2 1) (enc n-b k)
    (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)))
  (label 21)
  (parent 14)
  (unrealized (5 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k22">Item <a href="#t0">22</a>, Parent: <a href="#k15">15</a>.</p>

<div>
 <svg
  class='diagram' width='479.760pt' height='529.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 479.760 529.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='439.800' y1='339.960' x2='439.800' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='339.960' x2='239.880' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 439.800 414.960 Q 342.840 377.460 245.880 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='439.800' cy='414.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.260 375.660 244.679 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 489.960 Q 142.920 452.460 45.960 489.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='489.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: blue;' cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 139.920 339.960 Q 286.860 302.460 433.800 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='239.880' y='39.960' style='text-anchor: middle;'>yahalom 22</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (deflistener k)
  (precedes ((0 1) (1 0)) ((1 1) (3 1)) ((1 2) (0 2)) ((1 2) (4 0))
    ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation nonce-test (displaced 5 1 serv 3) k (4 0)
    (enc b k n-a n-b (ltk a c)))
  (label 22)
  (parent 15)
  (unrealized (4 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k23">Item <a href="#t0">23</a>, Parent: <a href="#k17">17</a>, Seen Child: <a href="#k16">16</a>.</p>

<div>
 <svg
  class='diagram' width='479.760pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 479.760 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 439.800 339.960 Q 342.840 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 264.960 Q 386.820 264.960 433.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 187.500 300.660 235.081 336.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='239.880' y='39.960'
   style='text-anchor: middle;'>yahalom 23 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((1 1) (2 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 1) (4 1)) ((4 2) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (contracted (a-0 a) (b-0 b) (c-0 c) (n-a-0 n-a))
    n-b (2 1) (enc n-b k-0) (enc a n-a n-b (ltk b c))
    (enc b k n-a n-b (ltk a c)) (enc b k-0 n-a n-b (ltk a c)))
  (label 23)
  (parent 17)
  (seen 16)
  (unrealized)
  (comment &quot;1 in cohort - 0 not yet seen&quot;))</pre>

<p id="k24">Item <a href="#t0">24</a>, Parent: <a href="#k17">17</a>, Children: <a href="#k34">34</a> <a href="#k35">35</a>, Seen Child: <a href="#k30">30</a>.</p>

<div>
 <svg
  class='diagram' width='579.720pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 579.720 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 539.760 264.960 Q 392.730 264.232 245.701 338.504'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 339.960 Q 342.840 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 264.960 Q 386.820 264.960 433.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 187.500 300.660 235.081 336.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 286.860 152.460 533.760 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='289.860' y='39.960' style='text-anchor: middle;'>yahalom 24</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((0 1) (5 0)) ((1 1) (2 1))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 1) (4 1)) ((4 2) (2 1))
    ((5 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (added-strand serv 2) n-b (2 1) (enc n-b k-0)
    (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)))
  (label 24)
  (parent 17)
  (seen 30)
  (unrealized (2 1))
  (comment &quot;3 in cohort - 2 not yet seen&quot;))</pre>

<p id="k25">Item <a href="#t0">25</a>, Parent: <a href="#k17">17</a>, Child: <a href="#k36">36</a>.</p>

<div>
 <svg
  class='diagram' width='579.720pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 579.720 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='539.760' y1='264.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 539.760 339.960 Q 392.820 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='539.760' cy='264.960' r='6.000'/></g>
  <path
   d='M 439.800 339.960 Q 342.840 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 264.960 Q 386.820 264.960 433.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 339.840 264.960 Q 436.800 227.460 533.760 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 187.500 300.660 235.081 336.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='289.860' y='39.960' style='text-anchor: middle;'>yahalom 25</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (deflistener k-0)
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((1 1) (2 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 1) (4 1)) ((3 1) (5 0)) ((4 2) (2 1))
    ((5 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (added-listener k-0) n-b (2 1) (enc n-b k-0)
    (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)))
  (label 25)
  (parent 17)
  (unrealized (2 1) (5 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k26">Item <a href="#t0">26</a>, Parent: <a href="#k18">18</a>, Child: <a href="#k37">37</a>.</p>

<div>
 <svg
  class='diagram' width='679.680pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 679.680 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='639.720' y1='189.960' x2='639.720' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='264.960' x2='339.840' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 639.720 264.960 Q 492.690 264.232 345.661 338.504'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='639.720' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='639.720' cy='189.960' r='6.000'/></g>
  <path
   d='M 539.760 339.960 Q 442.800 302.460 345.840 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 414.960 Q 192.900 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-1 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-1)</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 237.071 263.906 334.222 337.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 336.840 152.460 633.720 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='639.720' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g>
   <title>((n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='339.840' y='39.960' style='text-anchor: middle;'>yahalom 26</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 n-a-1 text) (a b c a-0 b-0 c-0 name)
    (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (defstrand init 3 (n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (precedes ((0 1) (4 0)) ((0 1) (6 0)) ((1 1) (3 1)) ((1 2) (0 2))
    ((2 1) (1 0)) ((3 2) (0 3)) ((4 1) (5 1)) ((5 2) (3 1))
    ((6 1) (3 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (added-strand serv 2) n-b (3 1) (enc n-b k-0)
    (enc a n-a n-b (ltk b c)) (enc b k-0 n-a n-b (ltk a c)))
  (label 26)
  (parent 18)
  (unrealized (3 1))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k27">Item <a href="#t0">27</a>, Parent: <a href="#k18">18</a>, Child: <a href="#k38">38</a>.</p>

<div>
 <svg
  class='diagram' width='679.680pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 679.680 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='639.720' y1='264.960' x2='639.720' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='264.960' x2='339.840' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 639.720 339.960 Q 492.780 302.460 345.840 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='639.720' cy='339.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='639.720' cy='264.960' r='6.000'/></g>
  <path
   d='M 539.760 339.960 Q 442.800 302.460 345.840 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 439.800 264.960 Q 536.760 227.460 633.720 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 414.960 Q 192.900 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-1 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-1)</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 237.071 263.906 334.222 337.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g>
   <title>((n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='339.840' y='39.960' style='text-anchor: middle;'>yahalom 27</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 n-a-1 text) (a b c a-0 b-0 c-0 name)
    (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (defstrand init 3 (n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (deflistener k-0)
  (precedes ((0 1) (4 0)) ((1 1) (3 1)) ((1 2) (0 2)) ((2 1) (1 0))
    ((3 2) (0 3)) ((4 1) (5 1)) ((4 1) (6 0)) ((5 2) (3 1))
    ((6 1) (3 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (added-listener k-0) n-b (3 1) (enc n-b k-0)
    (enc a n-a n-b (ltk b c)) (enc b k-0 n-a n-b (ltk a c)))
  (label 27)
  (parent 18)
  (unrealized (3 1) (6 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k28">Item <a href="#t0">28</a>, Parent: <a href="#k19">19</a>, Seen Child: <a href="#k8">8</a>.</p>

<div>
 <svg
  class='diagram' width='379.800pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 379.800 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 339.840 264.960 Q 192.583 301.118 45.326 412.276'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 339.960 Q 142.729 338.906 45.578 412.852'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 186.900 264.960 233.880 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='189.900' y='39.960'
   style='text-anchor: middle;'>yahalom 28 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((1 1) (2 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 1) (0 3)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation generalization deleted (2 0))
  (label 28)
  (parent 19)
  (seen 8)
  (unrealized)
  (comment &quot;1 in cohort - 0 not yet seen&quot;))</pre>

<p id="k29">Item <a href="#t0">29</a>, Parent: <a href="#k20">20</a>, Child: <a href="#k39">39</a>.</p>

<div>
 <svg
  class='diagram' width='579.720pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 579.720 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 539.760 339.960 Q 392.820 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='289.860' y='39.960'
   style='text-anchor: middle;'>yahalom 29 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((1 1) (3 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (5 1)) ((5 2) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (contracted (a-0 a) (b-0 b) (c-0 c) (n-a-0 n-a))
    n-b (2 1) (enc n-b k) (enc n-b k-0) (enc a n-a n-b (ltk b c))
    (enc b k n-a n-b (ltk a c)) (enc b k-0 n-a n-b (ltk a c)))
  (label 29)
  (parent 20)
  (unrealized)
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k30">Item <a href="#t0">30</a>, Parent: <a href="#k20">20</a>, Children: <a href="#k40">40</a> <a href="#k41">41</a> <a href="#k42">42</a>.</p>

<div>
 <svg
  class='diagram' width='679.680pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 679.680 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='639.720' y1='189.960' x2='639.720' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 639.720 264.960 Q 442.749 264.407 245.777 338.854'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='639.720' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='639.720' cy='189.960' r='6.000'/></g>
  <path
   d='M 539.760 339.960 Q 392.820 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 336.840 152.460 633.720 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='639.720' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='339.840' y='39.960' style='text-anchor: middle;'>yahalom 30</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((0 1) (6 0)) ((1 1) (3 1))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (5 1))
    ((5 2) (2 1)) ((6 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (added-strand serv 2) n-b (2 1) (enc n-b k)
    (enc n-b k-0) (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)))
  (label 30)
  (parent 20)
  (unrealized (2 1))
  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>

<p id="k31">Item <a href="#t0">31</a>, Parent: <a href="#k20">20</a>, Child: <a href="#k43">43</a>.</p>

<div>
 <svg
  class='diagram' width='679.680pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 679.680 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='639.720' y1='264.960' x2='639.720' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 639.720 339.960 Q 442.800 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='639.720' cy='339.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='639.720' cy='264.960' r='6.000'/></g>
  <path
   d='M 539.760 339.960 Q 392.820 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: blue;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 139.920 264.960 Q 386.820 227.460 633.720 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='339.840' y='39.960' style='text-anchor: middle;'>yahalom 31</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (deflistener k)
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((1 1) (3 1)) ((1 1) (6 0))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (5 1))
    ((5 2) (2 1)) ((6 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (added-listener k) n-b (2 1) (enc n-b k)
    (enc n-b k-0) (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)))
  (label 31)
  (parent 20)
  (unrealized (6 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k32">Item <a href="#t0">32</a>, Parent: <a href="#k20">20</a>, Child: <a href="#k44">44</a>.</p>

<div>
 <svg
  class='diagram' width='679.680pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 679.680 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='639.720' y1='264.960' x2='639.720' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 639.720 339.960 Q 442.800 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='639.720' cy='339.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='639.720' cy='264.960' r='6.000'/></g>
  <path
   d='M 539.760 339.960 Q 392.820 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 439.800 264.960 Q 536.760 227.460 633.720 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='339.840' y='39.960' style='text-anchor: middle;'>yahalom 32</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (deflistener k-0)
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((1 1) (3 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (5 1)) ((4 1) (6 0))
    ((5 2) (2 1)) ((6 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (added-listener k-0) n-b (2 1) (enc n-b k)
    (enc n-b k-0) (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)))
  (label 32)
  (parent 20)
  (unrealized (2 1) (6 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k33">Item <a href="#t0">33</a>, Parent: <a href="#k21">21</a>.</p>

<div>
 <svg
  class='diagram' width='579.720pt' height='529.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 579.720 529.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='539.760' y1='339.960' x2='539.760' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='339.960' x2='239.880' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 539.760 414.960 Q 392.820 377.460 245.880 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='539.760' cy='414.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='539.760' cy='339.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 342.240 300.660 244.679 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.260 375.660 244.679 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 489.960 Q 142.920 452.460 45.960 489.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='489.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: blue;' cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 139.920 339.960 Q 336.840 302.460 533.760 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='289.860' y='39.960' style='text-anchor: middle;'>yahalom 33</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (deflistener k)
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((1 1) (3 1)) ((1 2) (0 2))
    ((1 2) (5 0)) ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (2 1))
    ((5 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (displaced 6 1 serv 3) k (5 0)
    (enc b k n-a n-b (ltk a c)))
  (label 33)
  (parent 21)
  (unrealized (5 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k34">Item <a href="#t0">34</a>, Parent: <a href="#k24">24</a>, Child: <a href="#k45">45</a>.</p>

<div>
 <svg
  class='diagram' width='579.720pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 579.720 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 539.760 264.960 Q 392.730 264.232 245.701 338.504'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 339.960 Q 342.840 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 264.960 Q 386.820 264.960 433.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 187.500 300.660 235.081 336.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 286.860 152.460 533.760 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='289.860' y='39.960'
   style='text-anchor: middle;'>yahalom 34 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((0 1) (5 0)) ((1 1) (2 1))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 1) (4 1)) ((4 2) (2 1))
    ((5 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (contracted (a-0 a) (b-0 b) (c-0 c) (n-a-0 n-a))
    n-b (2 1) (enc n-b k-0) (enc a n-a n-b (ltk b c))
    (enc b k n-a n-b (ltk a c)) (enc b k-0 n-a n-b (ltk a c))
    (enc b k-1 n-a n-b (ltk a c)))
  (label 34)
  (parent 24)
  (unrealized)
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k35">Item <a href="#t0">35</a>, Parent: <a href="#k24">24</a>, Child: <a href="#k46">46</a>.</p>

<div>
 <svg
  class='diagram' width='679.680pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 679.680 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='639.720' y1='264.960' x2='639.720' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 639.720 339.960 Q 442.800 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='639.720' cy='339.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='639.720' cy='264.960' r='6.000'/></g>
  <path
   d='M 539.760 264.960 Q 392.730 264.232 245.701 338.504'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 339.960 Q 342.840 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 264.960 Q 386.820 264.960 433.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 339.840 264.960 Q 486.780 227.460 633.720 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 187.500 300.660 235.081 336.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 286.860 152.460 533.760 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='339.840' y='39.960' style='text-anchor: middle;'>yahalom 35</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (deflistener k-0)
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((0 1) (5 0)) ((1 1) (2 1))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 1) (4 1)) ((3 1) (6 0))
    ((4 2) (2 1)) ((5 1) (2 1)) ((6 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (added-listener k-0) n-b (2 1) (enc n-b k-0)
    (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)) (enc b k-1 n-a n-b (ltk a c)))
  (label 35)
  (parent 24)
  (unrealized (2 1) (6 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k36">Item <a href="#t0">36</a>, Parent: <a href="#k25">25</a>.</p>

<div>
 <svg
  class='diagram' width='579.720pt' height='529.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 579.720 529.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='339.960' x2='439.800' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='339.960' x2='239.880' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 539.760 339.960 Q 492.780 339.960 445.800 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k-0 (ltk b c))</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <path
   d='M 539.760 264.960 Q 442.800 227.460 345.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 414.960 Q 342.840 377.460 245.880 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='439.800' cy='414.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.260 375.660 244.679 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 489.960 Q 142.920 452.460 45.960 489.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='489.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 188.236 337.464 236.553 409.967'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 286.860 152.460 533.760 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='289.860' y='39.960' style='text-anchor: middle;'>yahalom 36</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (deflistener k-0)
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (5 0)) ((1 1) (2 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (2 1)) ((5 1) (3 1))
    ((5 2) (4 0)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (displaced 3 6 serv 3) k-0 (5 0)
    (enc b k-0 n-a n-b (ltk a c)))
  (label 36)
  (parent 25)
  (unrealized (2 1) (4 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k37">Item <a href="#t0">37</a>, Parent: <a href="#k26">26</a>, Child: <a href="#k47">47</a>.</p>

<div>
 <svg
  class='diagram' width='779.640pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 779.640 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='739.680' y1='264.960' x2='739.680' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='639.720' y1='189.960' x2='639.720' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='264.960' x2='339.840' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 739.680 339.960 Q 542.760 302.460 345.840 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='739.680' cy='339.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='739.680' cy='264.960' r='6.000'/></g>
  <path
   d='M 639.720 264.960 Q 492.690 264.232 345.661 338.504'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='639.720' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='639.720' cy='189.960' r='6.000'/></g>
  <path
   d='M 539.760 339.960 Q 442.800 302.460 345.840 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 439.800 264.960 Q 586.740 227.460 733.680 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 414.960 Q 192.900 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-1 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-1)</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 237.071 263.906 334.222 337.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 336.840 152.460 633.720 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='639.720' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g>
   <title>((n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='389.820' y='39.960' style='text-anchor: middle;'>yahalom 37</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 n-a-1 text) (a b c a-0 b-0 c-0 name)
    (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (defstrand init 3 (n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (deflistener k-0)
  (precedes ((0 1) (4 0)) ((0 1) (6 0)) ((1 1) (3 1)) ((1 2) (0 2))
    ((2 1) (1 0)) ((3 2) (0 3)) ((4 1) (5 1)) ((4 1) (7 0))
    ((5 2) (3 1)) ((6 1) (3 1)) ((7 1) (3 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (added-listener k-0) n-b (3 1) (enc n-b k-0)
    (enc a n-a n-b (ltk b c)) (enc b k-0 n-a n-b (ltk a c))
    (enc b k-1 n-a n-b (ltk a c)))
  (label 37)
  (parent 26)
  (unrealized (3 1) (7 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k38">Item <a href="#t0">38</a>, Parent: <a href="#k27">27</a>.</p>

<div>
 <svg
  class='diagram' width='679.680pt' height='529.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 679.680 529.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='639.720' y1='189.960' x2='639.720' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='339.960' x2='539.760' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='339.960' x2='339.840' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 639.720 339.960 Q 592.740 339.960 545.760 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k-0 (ltk b c))</title>
   <circle cx='639.720' cy='339.960' r='6.000'/></g>
  <path
   d='M 639.720 264.960 Q 542.760 227.460 445.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='639.720' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='639.720' cy='189.960' r='6.000'/></g>
  <path
   d='M 539.760 414.960 Q 442.800 377.460 345.840 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='539.760' cy='414.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='539.760' cy='339.960' r='6.000'/></g>
  <path
   d='M 439.800 339.960 Q 392.220 375.660 344.639 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 489.960 Q 192.900 452.460 45.960 489.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='489.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-1 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='339.840' cy='414.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-1)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 237.480 300.660 335.041 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 336.840 152.460 633.720 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='639.720' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='339.840' y='39.960' style='text-anchor: middle;'>yahalom 38</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 n-a-1 text) (a b c a-0 b-0 c-0 name)
    (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (defstrand init 3 (n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (deflistener k-0)
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (6 0)) ((1 1) (3 1)) ((1 2) (0 2)) ((2 1) (1 0))
    ((3 2) (0 3)) ((4 2) (3 1)) ((5 1) (3 1)) ((6 1) (4 1))
    ((6 2) (5 0)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (displaced 4 7 serv 3) k-0 (6 0)
    (enc b k-0 n-a n-b (ltk a c)))
  (label 38)
  (parent 27)
  (unrealized (3 1) (5 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k39">Item <a href="#t0">39</a>, Parent: <a href="#k29">29</a>, Seen Child: <a href="#k28">28</a>.</p>

<div>
 <svg
  class='diagram' width='479.760pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 479.760 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 439.800 339.960 Q 242.829 339.407 45.857 413.854'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 264.960 Q 386.820 264.960 433.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 339.960 Q 142.729 338.906 45.578 412.852'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 186.900 264.960 233.880 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='239.880' y='39.960'
   style='text-anchor: middle;'>yahalom 39 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((1 1) (2 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 1) (4 1)) ((4 2) (0 3)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation generalization deleted (2 0))
  (label 39)
  (parent 29)
  (seen 28)
  (unrealized)
  (comment &quot;1 in cohort - 0 not yet seen&quot;))</pre>

<p id="k40">Item <a href="#t0">40</a>, Parent: <a href="#k30">30</a>, Child: <a href="#k48">48</a>.</p>

<div>
 <svg
  class='diagram' width='679.680pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 679.680 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='639.720' y1='189.960' x2='639.720' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 639.720 264.960 Q 442.749 264.407 245.777 338.854'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='639.720' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='639.720' cy='189.960' r='6.000'/></g>
  <path
   d='M 539.760 339.960 Q 392.820 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 336.840 152.460 633.720 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='639.720' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='339.840' y='39.960'
   style='text-anchor: middle;'>yahalom 40 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((0 1) (6 0)) ((1 1) (3 1))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (5 1))
    ((5 2) (2 1)) ((6 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (contracted (a-0 a) (b-0 b) (c-0 c) (n-a-0 n-a))
    n-b (2 1) (enc n-b k) (enc n-b k-0) (enc a n-a n-b (ltk b c))
    (enc b k n-a n-b (ltk a c)) (enc b k-0 n-a n-b (ltk a c))
    (enc b k-1 n-a n-b (ltk a c)))
  (label 40)
  (parent 30)
  (unrealized)
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k41">Item <a href="#t0">41</a>, Parent: <a href="#k30">30</a>, Child: <a href="#k49">49</a>.</p>

<div>
 <svg
  class='diagram' width='779.640pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 779.640 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='739.680' y1='264.960' x2='739.680' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='639.720' y1='189.960' x2='639.720' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 739.680 339.960 Q 492.780 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='739.680' cy='339.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='739.680' cy='264.960' r='6.000'/></g>
  <path
   d='M 639.720 264.960 Q 442.749 264.407 245.777 338.854'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='639.720' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='639.720' cy='189.960' r='6.000'/></g>
  <path
   d='M 539.760 339.960 Q 392.820 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: blue;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 139.920 264.960 Q 436.800 227.460 733.680 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 336.840 152.460 633.720 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='639.720' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='389.820' y='39.960' style='text-anchor: middle;'>yahalom 41</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (deflistener k)
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((0 1) (6 0)) ((1 1) (3 1))
    ((1 1) (7 0)) ((1 2) (0 2)) ((2 2) (0 3)) ((3 2) (2 1))
    ((4 1) (5 1)) ((5 2) (2 1)) ((6 1) (2 1)) ((7 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (added-listener k) n-b (2 1) (enc n-b k)
    (enc n-b k-0) (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)) (enc b k-1 n-a n-b (ltk a c)))
  (label 41)
  (parent 30)
  (unrealized (7 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k42">Item <a href="#t0">42</a>, Parent: <a href="#k30">30</a>, Child: <a href="#k50">50</a>.</p>

<div>
 <svg
  class='diagram' width='779.640pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 779.640 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='739.680' y1='264.960' x2='739.680' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='639.720' y1='189.960' x2='639.720' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='264.960' x2='239.880' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 739.680 339.960 Q 492.780 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='739.680' cy='339.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='739.680' cy='264.960' r='6.000'/></g>
  <path
   d='M 639.720 264.960 Q 442.749 264.407 245.777 338.854'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='639.720' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='639.720' cy='189.960' r='6.000'/></g>
  <path
   d='M 539.760 339.960 Q 392.820 302.460 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 439.800 264.960 Q 586.740 227.460 733.680 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.860 339.960 245.880 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 414.960 Q 142.920 377.460 45.960 414.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 336.840 152.460 633.720 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='639.720' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='389.820' y='39.960' style='text-anchor: middle;'>yahalom 42</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (deflistener k-0)
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((0 1) (6 0)) ((1 1) (3 1))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (5 1))
    ((4 1) (7 0)) ((5 2) (2 1)) ((6 1) (2 1)) ((7 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (added-listener k-0) n-b (2 1) (enc n-b k)
    (enc n-b k-0) (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
    (enc b k-0 n-a n-b (ltk a c)) (enc b k-1 n-a n-b (ltk a c)))
  (label 42)
  (parent 30)
  (unrealized (2 1) (7 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k43">Item <a href="#t0">43</a>, Parent: <a href="#k31">31</a>.</p>

<div>
 <svg
  class='diagram' width='679.680pt' height='529.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 679.680 529.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='639.720' y1='339.960' x2='639.720' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='339.960' x2='239.880' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 639.720 414.960 Q 442.800 377.460 245.880 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='639.720' cy='414.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='639.720' cy='339.960' r='6.000'/></g>
  <path
   d='M 539.760 339.960 Q 392.730 339.232 245.701 413.504'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.260 375.660 244.679 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 489.960 Q 142.920 452.460 45.960 489.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='489.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: blue;' cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 139.920 339.960 Q 386.820 302.460 633.720 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='339.840' y='39.960' style='text-anchor: middle;'>yahalom 43</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (deflistener k)
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((1 1) (3 1)) ((1 2) (0 2))
    ((1 2) (6 0)) ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (5 1))
    ((5 2) (2 1)) ((6 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (displaced 7 1 serv 3) k (6 0)
    (enc b k n-a n-b (ltk a c)))
  (label 43)
  (parent 31)
  (unrealized (6 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k44">Item <a href="#t0">44</a>, Parent: <a href="#k32">32</a>.</p>

<div>
 <svg
  class='diagram' width='679.680pt' height='529.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 679.680 529.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='639.720' y1='189.960' x2='639.720' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='339.960' x2='539.760' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='339.960' x2='239.880' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 639.720 339.960 Q 592.740 339.960 545.760 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k-0 (ltk b c))</title>
   <circle cx='639.720' cy='339.960' r='6.000'/></g>
  <path
   d='M 639.720 264.960 Q 542.760 227.460 445.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='639.720' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='639.720' cy='189.960' r='6.000'/></g>
  <path
   d='M 539.760 414.960 Q 392.820 377.460 245.880 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='539.760' cy='414.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='539.760' cy='339.960' r='6.000'/></g>
  <path
   d='M 439.800 339.960 Q 342.649 338.906 245.498 412.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.260 375.660 244.679 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 489.960 Q 142.920 452.460 45.960 489.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='489.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 336.840 152.460 633.720 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='639.720' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='339.840' y='39.960' style='text-anchor: middle;'>yahalom 44</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (deflistener k-0)
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (6 0)) ((1 1) (3 1)) ((1 2) (0 2))
    ((2 2) (0 3)) ((3 2) (2 1)) ((4 2) (2 1)) ((5 1) (2 1))
    ((6 1) (4 1)) ((6 2) (5 0)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0)
  (operation nonce-test (displaced 4 7 serv 3) k-0 (6 0)
    (enc b k-0 n-a n-b (ltk a c)))
  (label 44)
  (parent 32)
  (unrealized (2 1) (5 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k45">Item <a href="#t0">45</a>, Parent: <a href="#k34">34</a>, Seen Child: <a href="#k16">16</a>.</p>

<div>
 <svg
  class='diagram' width='479.760pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 479.760 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 439.800 264.960 Q 342.840 227.460 245.880 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 264.960 Q 292.860 264.960 245.880 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 339.960 Q 142.729 338.906 45.578 412.852'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 186.900 264.960 233.880 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='239.880' y='39.960'
   style='text-anchor: middle;'>yahalom 45 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((0 1) (4 0)) ((1 1) (2 1))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 1) (2 1)) ((4 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation generalization deleted (4 0))
  (label 45)
  (parent 34)
  (seen 16)
  (unrealized)
  (comment &quot;1 in cohort - 0 not yet seen&quot;))</pre>

<p id="k46">Item <a href="#t0">46</a>, Parent: <a href="#k35">35</a>.</p>

<div>
 <svg
  class='diagram' width='679.680pt' height='529.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 679.680 529.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='639.720' y1='189.960' x2='639.720' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='339.960' x2='539.760' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='339.960' x2='239.880' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 639.720 339.960 Q 592.740 339.960 545.760 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k-0 (ltk b c))</title>
   <circle cx='639.720' cy='339.960' r='6.000'/></g>
  <path
   d='M 639.720 264.960 Q 492.780 227.460 345.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='639.720' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='639.720' cy='189.960' r='6.000'/></g>
  <path
   d='M 539.760 414.960 Q 392.820 377.460 245.880 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='539.760' cy='414.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='539.760' cy='339.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 342.240 300.660 244.679 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.260 375.660 244.679 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 489.960 Q 142.920 452.460 45.960 489.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='489.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 188.236 337.464 236.553 409.967'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 336.840 152.460 633.720 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='639.720' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='339.840' y='39.960' style='text-anchor: middle;'>yahalom 46</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (deflistener k-0)
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((0 1) (6 0)) ((1 1) (2 1))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 2) (2 1)) ((4 1) (2 1))
    ((5 1) (2 1)) ((6 1) (3 1)) ((6 2) (5 0)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (displaced 3 7 serv 3) k-0 (6 0)
    (enc b k-0 n-a n-b (ltk a c)))
  (label 46)
  (parent 35)
  (unrealized (2 1) (5 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k47">Item <a href="#t0">47</a>, Parent: <a href="#k37">37</a>.</p>

<div>
 <svg
  class='diagram' width='779.640pt' height='529.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 779.640 529.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='739.680' y1='189.960' x2='739.680' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='639.720' y1='339.960' x2='639.720' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='339.960' x2='339.840' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 739.680 339.960 Q 692.700 339.960 645.720 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k-0 (ltk b c))</title>
   <circle cx='739.680' cy='339.960' r='6.000'/></g>
  <path
   d='M 739.680 264.960 Q 592.740 227.460 445.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='739.680' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='739.680' cy='189.960' r='6.000'/></g>
  <path
   d='M 639.720 414.960 Q 492.780 377.460 345.840 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='639.720' cy='414.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='639.720' cy='339.960' r='6.000'/></g>
  <path
   d='M 539.760 264.960 Q 442.200 300.660 344.639 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 339.960 Q 392.220 375.660 344.639 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 489.960 Q 192.900 452.460 45.960 489.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='489.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-1 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='339.840' cy='414.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-1)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 237.480 300.660 335.041 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 286.860 152.460 533.760 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 386.820 152.460 733.680 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='739.680' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='389.820' y='39.960' style='text-anchor: middle;'>yahalom 47</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 n-a-1 text) (a b c a-0 b-0 c-0 name)
    (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (defstrand init 3 (n-a n-a-1) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (deflistener k-0)
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (5 0)) ((0 1) (7 0)) ((1 1) (3 1)) ((1 2) (0 2))
    ((2 1) (1 0)) ((3 2) (0 3)) ((4 2) (3 1)) ((5 1) (3 1))
    ((6 1) (3 1)) ((7 1) (4 1)) ((7 2) (6 0)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (displaced 4 8 serv 3) k-0 (7 0)
    (enc b k-0 n-a n-b (ltk a c)))
  (label 47)
  (parent 37)
  (unrealized (3 1) (6 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k48">Item <a href="#t0">48</a>, Parent: <a href="#k40">40</a>, Child: <a href="#k51">51</a>.</p>

<div>
 <svg
  class='diagram' width='579.720pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 579.720 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 539.760 264.960 Q 292.733 301.598 45.707 413.235'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 339.960 Q 242.829 339.407 45.857 413.854'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 264.960 Q 386.820 264.960 433.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 339.960 Q 142.729 338.906 45.578 412.852'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 186.900 264.960 233.880 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 286.860 152.460 533.760 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='289.860' y='39.960'
   style='text-anchor: middle;'>yahalom 48 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((0 1) (5 0)) ((1 1) (2 1))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 1) (4 1)) ((4 2) (0 3))
    ((5 1) (0 3)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation generalization deleted (2 0))
  (label 48)
  (parent 40)
  (unrealized)
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k49">Item <a href="#t0">49</a>, Parent: <a href="#k41">41</a>.</p>

<div>
 <svg
  class='diagram' width='779.640pt' height='529.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 779.640 529.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='739.680' y1='339.960' x2='739.680' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='639.720' y1='189.960' x2='639.720' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='339.960' x2='239.880' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 739.680 414.960 Q 492.780 377.460 245.880 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k</title><circle cx='739.680' cy='414.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='739.680' cy='339.960' r='6.000'/></g>
  <path
   d='M 639.720 264.960 Q 442.609 301.406 245.498 412.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='639.720' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='639.720' cy='189.960' r='6.000'/></g>
  <path
   d='M 539.760 339.960 Q 392.730 339.232 245.701 413.504'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='539.760' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 264.960 Q 486.780 264.960 533.760 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.260 375.660 244.679 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 489.960 Q 142.920 452.460 45.960 489.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='489.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: blue;' cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 139.920 339.960 Q 436.800 302.460 733.680 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 336.840 152.460 633.720 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='639.720' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='389.820' y='39.960' style='text-anchor: middle;'>yahalom 49</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (deflistener k)
  (precedes ((0 1) (1 0)) ((0 1) (4 0)) ((0 1) (6 0)) ((1 1) (3 1))
    ((1 2) (0 2)) ((1 2) (7 0)) ((2 2) (0 3)) ((3 2) (2 1))
    ((4 1) (5 1)) ((5 2) (2 1)) ((6 1) (2 1)) ((7 1) (2 1)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (displaced 8 1 serv 3) k (7 0)
    (enc b k n-a n-b (ltk a c)))
  (label 49)
  (parent 41)
  (unrealized (7 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k50">Item <a href="#t0">50</a>, Parent: <a href="#k42">42</a>.</p>

<div>
 <svg
  class='diagram' width='779.640pt' height='529.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 779.640 529.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='739.680' y1='189.960' x2='739.680' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='639.720' y1='339.960' x2='639.720' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='539.760' y1='189.960' x2='539.760' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='339.960' x2='239.880' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='489.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 739.680 339.960 Q 692.700 339.960 645.720 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k-0 (ltk b c))</title>
   <circle cx='739.680' cy='339.960' r='6.000'/></g>
  <path
   d='M 739.680 264.960 Q 592.740 227.460 445.800 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='739.680' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='739.680' cy='189.960' r='6.000'/></g>
  <path
   d='M 639.720 414.960 Q 442.800 377.460 245.880 414.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>k-0</title><circle cx='639.720' cy='414.960' r='6.000'/></g>
  <g><title>k-0</title>
   <circle style='fill: red;' cx='639.720' cy='339.960' r='6.000'/></g>
  <path
   d='M 539.760 264.960 Q 392.503 301.118 245.246 412.276'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='539.760' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
  <path
   d='M 439.800 339.960 Q 342.649 338.906 245.498 412.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k-0)</title>
   <circle cx='439.800' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 339.960 Q 292.260 375.660 244.679 411.359'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='339.840' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 489.960 Q 142.920 452.460 45.960 489.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='489.960' r='6.000'/></g>
  <g><title>(enc b-0 k n-a-0 n-b (ltk a-0 c-0))</title>
   <circle style='fill: red;' cx='239.880' cy='414.960' r='6.000'/></g>
  <g><title>(cat a-0 n-a-0)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 236.880 227.460 333.840 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 286.860 152.460 533.760 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 386.820 152.460 733.680 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='739.680' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='539.760' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g>
   <title>((n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='389.820' y='39.960' style='text-anchor: middle;'>yahalom 50</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 text) (a b c a-0 b-0 c-0 name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a-0) (n-b n-b) (a a-0) (b b-0) (c c-0) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (deflistener k-0)
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (precedes ((0 1) (1 0)) ((0 1) (5 0)) ((0 1) (7 0)) ((1 1) (3 1))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 2) (2 1)) ((4 2) (2 1))
    ((5 1) (2 1)) ((6 1) (2 1)) ((7 1) (4 1)) ((7 2) (6 0)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation nonce-test (displaced 4 8 serv 3) k-0 (7 0)
    (enc b k-0 n-a n-b (ltk a c)))
  (label 50)
  (parent 42)
  (unrealized (2 1) (6 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k51">Item <a href="#t0">51</a>, Parent: <a href="#k48">48</a>, Seen Child: <a href="#k28">28</a>.</p>

<div>
 <svg
  class='diagram' width='479.760pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 479.760 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='439.800' y1='189.960' x2='439.800' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='339.840' y1='189.960' x2='339.840' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 439.800 264.960 Q 242.689 301.406 45.578 412.852'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-1 n-a n-b (ltk a c))</title>
   <circle cx='439.800' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
  <path
   d='M 339.840 264.960 Q 192.583 301.118 45.326 412.276'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k-0 n-a n-b (ltk a c))</title>
   <circle cx='339.840' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
  <path
   d='M 239.880 339.960 Q 142.729 338.906 45.578 412.852'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc n-b k)</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <path
   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='139.920' cy='339.960' r='6.000'/></g>
  <path
   d='M 139.920 264.960 Q 186.900 264.960 233.880 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))</title>
   <text x='439.800' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='239.880' y='39.960'
   style='text-anchor: middle;'>yahalom 51 (realized)</text></svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k k-0 k-1 skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (defstrand init 3 (n-a n-a) (n-b n-b) (a a) (b b) (c c) (k k))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-0))
  (defstrand serv 2 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k-1))
  (precedes ((0 1) (1 0)) ((0 1) (3 0)) ((0 1) (4 0)) ((1 1) (2 1))
    ((1 2) (0 2)) ((2 2) (0 3)) ((3 1) (0 3)) ((4 1) (0 3)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k k-0 k-1)
  (operation generalization deleted (4 0))
  (label 51)
  (parent 48)
  (seen 28)
  (unrealized)
  (comment &quot;1 in cohort - 0 not yet seen&quot;))</pre>

<p id="t52">Tree <a href="#top">52</a>.</p>

<div>
 <svg
  class='diagram' width='229.680pt' height='154.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 229.680 154.920' font-size='12.000'>
  <text
   x='189.720' y='101.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k57&quot;, &quot;_self&quot;)'>57</text>
  <line
   x1='139.800' y1='114.960' x2='189.720' y2='114.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='139.800' y='101.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k55&quot;, &quot;_self&quot;)'>55</text>
  <line
   x1='89.880' y1='77.460' x2='139.800' y2='114.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='189.720' y='26.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k56&quot;, &quot;_self&quot;)'>56</text>
  <line
   x1='139.800' y1='39.960' x2='189.720' y2='39.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='139.800' y='26.040' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k54&quot;, &quot;_self&quot;)'>54</text>
  <line
   x1='89.880' y1='77.460' x2='139.800' y2='39.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='89.880' y='63.540' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k53&quot;, &quot;_self&quot;)'>53</text>
  <line
   x1='39.960' y1='77.460' x2='89.880' y2='77.460'
   style='stroke-width: 0.960; stroke: gray;'/>
  <text
   x='39.960' y='63.540' style='text-anchor: middle; fill: red;'
   onclick='window.open(&quot;#k52&quot;, &quot;_self&quot;)'>52</text>
  </svg></div>

<pre>(defprotocol yahalom diffie-hellman
  (defrole init
    (vars (a b c name) (n-a n-b text) (k skey))
    (trace (send (cat a n-a)) (recv (enc b k n-a n-b (ltk a c)))
      (send (enc n-b k))))
  (defrole resp
    (vars (b a c name) (n-a n-b text) (k skey))
    (trace (recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
      (recv (enc a k (ltk b c))) (recv (enc n-b k))))
  (defrole serv
    (vars (c a b name) (n-a n-b text) (k skey))
    (trace (recv (cat b (enc a n-a n-b (ltk b c))))
      (send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c))))
    (uniq-orig k)))</pre>

<p id="k52">Item <a href="#t52">52</a>, Child: <a href="#k53">53</a>.</p>

<div>
 <svg
  class='diagram' width='179.880pt' height='379.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 179.880 379.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='139.920' y1='114.960' x2='139.920' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <g><title>k</title><circle cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='89.940' y='39.960' style='text-anchor: middle;'>yahalom 52</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (deflistener k)
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b)
  (label 52)
  (unrealized (0 2) (0 3))
  (origs (n-b (0 1)))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k53">Item <a href="#t52">53</a>, Parent: <a href="#k52">52</a>, Children: <a href="#k54">54</a> <a href="#k55">55</a>.</p>

<div>
 <svg
  class='diagram' width='279.840pt' height='379.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 279.840 379.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='239.880' y1='114.960' x2='239.880' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='189.960' x2='139.920' y2='264.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 239.880 264.960 Q 142.920 227.460 45.960 264.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <path
   d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
  <g><title>k</title><circle cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='139.920' y='39.960' style='text-anchor: middle;'>yahalom 53</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (deflistener k)
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (precedes ((2 1) (1 0)) ((2 2) (0 2)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation encryption-test (added-strand serv 3) (enc a k (ltk b c))
    (0 2))
  (label 53)
  (parent 52)
  (unrealized (0 3) (1 0) (2 0))
  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>

<p id="k54">Item <a href="#t52">54</a>, Parent: <a href="#k53">53</a>, Child: <a href="#k56">56</a>.</p>

<div>
 <svg
  class='diagram' width='279.840pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 279.840 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='264.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 239.880 339.960 Q 142.920 302.460 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <path
   d='M 239.880 264.960 Q 192.900 264.960 145.920 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>k</title><circle cx='139.920' cy='339.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='139.920' y='39.960' style='text-anchor: middle;'>yahalom 54</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (deflistener k)
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (precedes ((0 1) (2 0)) ((2 1) (1 0)) ((2 2) (0 2)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation encryption-test (displaced 3 0 resp 2)
    (enc a n-a-0 n-b-0 (ltk b c)) (2 0))
  (label 54)
  (parent 53)
  (unrealized (0 3) (1 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k55">Item <a href="#t52">55</a>, Parent: <a href="#k53">53</a>, Child: <a href="#k57">57</a>.</p>

<div>
 <svg
  class='diagram' width='379.800pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 379.800 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='339.840' y1='114.960' x2='339.840' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='264.960' x2='139.920' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='189.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='339.840' cy='114.960' r='6.000'/></g>
  <path
   d='M 239.880 339.960 Q 142.920 302.460 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <path
   d='M 239.880 264.960 Q 192.900 264.960 145.920 264.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>k</title><circle cx='139.920' cy='339.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='189.900' y='39.960' style='text-anchor: middle;'>yahalom 55</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (deflistener k)
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (precedes ((2 1) (1 0)) ((2 2) (0 2)) ((3 1) (2 0)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation encryption-test (added-strand resp 2)
    (enc a n-a-0 n-b-0 (ltk b c)) (2 0))
  (label 55)
  (parent 53)
  (unrealized (0 3) (1 0))
  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>

<p id="k56">Item <a href="#t52">56</a>, Parent: <a href="#k54">54</a>.</p>

<div>
 <svg
  class='diagram' width='279.840pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 279.840 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='339.960' x2='139.920' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='114.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 239.880 339.960 Q 142.920 302.460 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 239.880 339.960 Q 192.900 339.960 145.920 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a n-b (ltk a c))</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>k</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='139.920' cy='339.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <path
   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
  <g><title>((n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='139.920' y='39.960' style='text-anchor: middle;'>yahalom 56</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (deflistener k)
  (defstrand serv 3 (n-a n-a) (n-b n-b) (c c) (a a) (b b) (k k))
  (precedes ((0 1) (2 0)) ((2 2) (0 2)) ((2 2) (1 0)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation nonce-test (displaced 3 2 serv 3) k (1 0)
    (enc b k n-a n-b (ltk a c)))
  (label 56)
  (parent 54)
  (unrealized (0 3) (1 0))
  (comment &quot;empty cohort&quot;))</pre>

<p id="k57">Item <a href="#t52">57</a>, Parent: <a href="#k55">55</a>.</p>

<div>
 <svg
  class='diagram' width='379.800pt' height='454.920pt'
  xmlns='http://www.w3.org/2000/svg' version='1.1'
  viewBox='0 0 379.800 454.920' font-size='12.000'>
  <defs>
   <marker
    id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
    refY='5'>
    <path
     d='M 0 0 5 5 0 10'
     style='stroke-width: 2; fill: none; stroke: black;'/></marker>
   </defs>
  <line
   x1='339.840' y1='114.960' x2='339.840' y2='189.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='239.880' y1='189.960' x2='239.880' y2='339.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='139.920' y1='339.960' x2='139.920' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <line
   x1='39.960' y1='189.960' x2='39.960' y2='414.960'
   style='stroke-width: 0.960; stroke: gray;'/>
  <path
   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle cx='339.840' cy='189.960' r='6.000'/></g>
  <g><title>(cat a n-a-0)</title>
   <circle style='fill: blue;' cx='339.840' cy='114.960' r='6.000'/></g>
  <path
   d='M 239.880 339.960 Q 142.920 302.460 45.960 339.960'
   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <path
   d='M 239.880 339.960 Q 192.900 339.960 145.920 339.960'
   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
  <g><title>(enc a k (ltk b c))</title>
   <circle cx='239.880' cy='339.960' r='6.000'/></g>
  <g><title>(enc b k n-a-0 n-b-0 (ltk a c))</title>
   <circle cx='239.880' cy='264.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a-0 n-b-0 (ltk b c)))</title>
   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
  <g><title>k</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
  <g><title>k</title>
   <circle style='fill: red;' cx='139.920' cy='339.960' r='6.000'/></g>
  <g><title>(enc n-b k)</title>
   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
  <g><title>(enc a k (ltk b c))</title>
   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
  <g><title>(cat b (enc a n-a n-b (ltk b c)))</title>
   <circle cx='39.960' cy='264.960' r='6.000'/></g>
  <g><title>(cat a n-a)</title>
   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))</title>
   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <g><title>((n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))</title>
   <text x='239.880' y='77.460' style='text-anchor: middle;'>serv</text>
   </g>
  <g><title>((n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))</title>
   <text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
   </g>
  <text
   x='189.900' y='39.960' style='text-anchor: middle;'>yahalom 57</text>
  </svg></div>

<pre>(defskeleton yahalom
  (vars (n-b n-a n-a-0 n-b-0 text) (a b c name) (k skey))
  (defstrand resp 4 (n-a n-a) (n-b n-b) (b b) (a a) (c c) (k k))
  (deflistener k)
  (defstrand serv 3 (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b) (k k))
  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
  (precedes ((2 2) (0 2)) ((2 2) (1 0)) ((3 1) (2 0)))
  (non-orig (ltk a c) (ltk b c))
  (uniq-orig n-b k)
  (operation nonce-test (displaced 4 2 serv 3) k (1 0)
    (enc b k n-a-0 n-b-0 (ltk a c)))
  (label 57)
  (parent 55)
  (unrealized (0 3) (1 0))
  (comment &quot;empty cohort&quot;))</pre>

</body>
</html>