diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2018-04-17  John D. Ramsdell  <ramsdell@mitre.org>
+
+ 	* cpsa.cabal (Version): Tagged as 3.5.0.
+
+2018-03-20  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* src/CPSA/DiffieHellman/Algebra.hs (displayVar, mkVar): Changed
+	sort names.  expn -> rndx and expr -> expt.
+
+2018-02-12  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* src/CPSA/SAS/SAS.hs (disjoin): Changed output to (false) on an
+	empty disjunction instead of (or).
+
+2018-01-12  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* src/CPSA/Lib/Loader.hs (mkListenerRole): Changed do pattern to
+	be irrefutable.
+
 2017-09-15  John D. Ramsdell  <ramsdell@mitre.org>
 
 	* src/CPSA/DiffieHellman/Algebra.hs (unifyTerms):  Added calls to
diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,13 @@
 CPSA NEWS
 
+  April, 2018:
+
+* The release of CPSA version 3.5.0 contains one user visiable change.
+  The names of the exponent sorts have been changed.  Sort expn is now
+  rndx, and expr is now expt.  The change was made because people
+  found the old sort name confusing.  For compatibility, the reader
+  accepts the old names and translates them into the new ones.
+
   December, 2017:
 
 * The release of CPSA version 3.4.1 includes the following changes:
diff --git a/cpsa.cabal b/cpsa.cabal
--- a/cpsa.cabal
+++ b/cpsa.cabal
@@ -1,5 +1,5 @@
 Name:			cpsa
-Version:		3.4.1
+Version:		3.5.0
 Maintainer:		mliskov@mitre.org
 Cabal-Version:		>= 1.6
 License:		BSD3
@@ -49,23 +49,29 @@
 Category:		Cryptography
 Build-Type:		Simple
 Data-Files:
-  Make.hs cpsa.mk cpsamanual.pdf examples/blanchet.scm examples/blanchet.xhtml
-  examples/bltk_or.scm examples/bltk_or.xhtml examples/envelope.scm
-  examples/envelope.xhtml examples/ffgg.scm examples/ffgg.xhtml
-  examples/fnof_test.scm examples/fnof_test.xhtml 
-  examples/fnof_yahalom.scm examples/fnof_yahalom.xhtml examples/goals.scm
-  examples/goals.xhtml examples/kerb.scm examples/kerb.xhtml
-  examples/lt_test.scm examples/lt_test.xhtml examples/neq_test.scm
-  examples/neq_test.xhtml examples/ns.scm examples/ns.xhtml examples/or.scm
-  examples/or.xhtml examples/pkinit.scm examples/pkinit.xhtml
-  examples/plaindh.scm examples/plaindh.xhtml examples/priority_test.scm
-  examples/priority_test.xhtml examples/station.scm examples/station.xhtml
-  examples/subsort_test.scm examples/woolam.scm examples/yahalom.scm
-  examples/yahalom.xhtml examples/IKE_variants.tar.gz examples/iadh_um.scm
-  examples/iadh_um.xhtml examples/subsort_test.xhtml examples/woolam.xhtml
-  examples/dh_mim.scm examples/dh_mim.xhtml examples/fluffy_draft03_fixing_gske.scm
-  examples/fluffy_draft03_gske.scm examples/fluffy_draft03_improving_pske.scm
-  examples/fluffy_draft03_pske.scm         
+  Make.hs cpsa.mk cpsamanual.pdf examples/blanchet.scm
+  examples/blanchet.xhtml examples/bltk_or.scm examples/bltk_or.xhtml
+  examples/envelope.scm examples/envelope.xhtml examples/ffgg.scm
+  examples/ffgg.xhtml examples/fnof_test.scm examples/fnof_test.xhtml
+  examples/fnof_yahalom.scm examples/fnof_yahalom.xhtml
+  examples/goals.scm examples/goals.xhtml examples/kerb.scm
+  examples/kerb.xhtml examples/lt_test.scm examples/lt_test.xhtml
+  examples/neq_test.scm examples/neq_test.xhtml examples/ns.scm
+  examples/ns.xhtml examples/or.scm examples/or.xhtml
+  examples/pkinit.scm examples/pkinit.xhtml examples/plaindh.scm
+  examples/plaindh.xhtml examples/priority_test.scm
+  examples/priority_test.xhtml examples/station.scm
+  examples/station.xhtml examples/subsort_test.scm examples/woolam.scm
+  examples/yahalom.scm examples/yahalom.xhtml
+  examples/IKE_variants.tar.gz examples/IKE_variants_nobase.tar.gz
+  examples/iadh_um.scm examples/iadh_um.xhtml
+  examples/subsort_test.xhtml examples/woolam.xhtml
+  examples/dh_mim.scm examples/dh_mim.xhtml
+  examples/fluffy_draft03_fixing_gske.scm
+  examples/fluffy_draft03_gske.scm
+  examples/fluffy_draft03_improving_pske.scm
+  examples/fluffy_draft03_pske.scm examples/eq_test.scm
+  examples/eq_test.xhtml
 Data-Dir:	    	doc
 Extra-Source-Files:
   Makefile ChangeLog README.txt NEWS ghci cpsatst setup.bat
diff --git a/doc/cpsamanual.pdf b/doc/cpsamanual.pdf
Binary files a/doc/cpsamanual.pdf and b/doc/cpsamanual.pdf differ
diff --git a/doc/examples/IKE_variants_nobase.tar.gz b/doc/examples/IKE_variants_nobase.tar.gz
new file mode 100644
Binary files /dev/null and b/doc/examples/IKE_variants_nobase.tar.gz differ
diff --git a/doc/examples/blanchet.xhtml b/doc/examples/blanchet.xhtml
--- a/doc/examples/blanchet.xhtml
+++ b/doc/examples/blanchet.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Blanchet's Simple Example Protocol</title>
@@ -12,7 +12,7 @@
 
 <pre>(herald &quot;Blanchet&apos;s Simple Example Protocol&quot;
   (comment &quot;There is a flaw in this protocol by design&quot;))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from blanchet.scm&quot;)</pre>
 
 <p id="top">Trees: <a href="#t0">0</a> <a href="#t4">4</a> <a href="#t6">6</a> <a href="#t11">11</a> <a href="#t14">14</a> <a href="#t18">18</a> <a href="#t23">23</a> <a href="#t25">25</a>.</p>
diff --git a/doc/examples/bltk_or.xhtml b/doc/examples/bltk_or.xhtml
--- a/doc/examples/bltk_or.xhtml
+++ b/doc/examples/bltk_or.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Otway-Rees Protocol</title>
@@ -13,7 +13,7 @@
 <pre>(herald &quot;Otway-Rees Protocol&quot;
   (comment &quot;Standard version using variables of sort mesg&quot;)
   (algebra diffie-hellman))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from bltk_or.scm&quot;)</pre>
 
 <p id="t0">Tree 0.</p>
diff --git a/doc/examples/dh_mim.scm b/doc/examples/dh_mim.scm
--- a/doc/examples/dh_mim.scm
+++ b/doc/examples/dh_mim.scm
@@ -13,14 +13,14 @@
 
 (defprotocol dh_mim diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (n text))
+    (vars (x rndx) (h base) (n text))
     (trace
      (send (exp (gen) x))
      (recv h)
      (send (enc n (exp h x))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (n text))
+    (vars (y rndx) (h base) (n text))
     (trace
      (recv h)
      (send (exp (gen) y))
@@ -30,7 +30,7 @@
 
 
 (defskeleton dh_mim
-  (vars (n text) (hx hy base) (x y expn))
+  (vars (n text) (hx hy base) (x y rndx))
   (defstrand init 3 (n n) (h hy) (x x))
   (defstrand resp 3 (n n) (h hx) (y y))
   (precedes ((0 2) (1 2)))
diff --git a/doc/examples/dh_mim.xhtml b/doc/examples/dh_mim.xhtml
# file too large to diff: doc/examples/dh_mim.xhtml
diff --git a/doc/examples/envelope.xhtml b/doc/examples/envelope.xhtml
--- a/doc/examples/envelope.xhtml
+++ b/doc/examples/envelope.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Envelope Protocol</title>
@@ -11,7 +11,7 @@
 <body>
 
 <pre>(herald &quot;Envelope Protocol&quot; (bound 20))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from envelope.scm&quot;)
 (comment &quot;Strand count bounded at 20&quot;)</pre>
 
diff --git a/doc/examples/eq_test.scm b/doc/examples/eq_test.scm
new file mode 100644
--- /dev/null
+++ b/doc/examples/eq_test.scm
@@ -0,0 +1,33 @@
+(herald "Equality constraint test protocol"
+   (comment "First skeleton should have a shape,"
+            "second, and hird should be dead."))
+
+(defprotocol eqtest basic
+  (defrole init
+     (vars (n1 n2 text) (k skey))
+     (trace
+       (send (cat n1 (enc n1 n2 k)))
+       (recv n2))
+     (non-orig k)
+     (uniq-orig n1 n2)
+  )
+)
+
+;;; With no inequality declaration, a shape
+;;; should be found where n1 = n2.
+(defskeleton eqtest
+   (vars (n1 n2 text) (k skey))
+   (defstrand init 2 (n1 n1) (n2 n2) (k k)))
+
+;;; With the equality declaration, n1 = n2 should
+;;; be found by skeletonizing.
+(defskeleton eqtest
+   (vars (n1 n2 text))
+   (defstrand init 2 (n1 n1) (n2 n2))
+   (eq (n1 n2)))
+
+;;; An fn-of declaration should produce a similar result.
+(defskeleton eqtest
+  (vars (n1 n2 text))
+  (defstrand init 2 (n1 n1) (n2 n2))
+  (fn-of ("foo" (n1 "bar") (n2 "bar"))))
diff --git a/doc/examples/eq_test.xhtml b/doc/examples/eq_test.xhtml
new file mode 100644
--- /dev/null
+++ b/doc/examples/eq_test.xhtml
@@ -0,0 +1,344 @@
+<?xml version="1.0"?>
+<!-- CPSA 3.5.0 -->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Equality constraint test protocol</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;Equality constraint test protocol&quot;
+  (comment &quot;First skeleton should have a shape,&quot;
+    &quot;second, and hird should be dead.&quot;))
+(comment &quot;CPSA 3.5.0&quot;)
+(comment &quot;All input read from eq_test.scm&quot;)</pre>
+
+<p id="top">Trees: <a href="#t0">0</a> <a href="#t2">2</a> <a href="#t4">4</a>.</p>
+
+<p id="t0">Tree <a href="#top">0</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='129.840pt' height='79.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 129.840 79.920' font-size='12.000'>
+  <text
+   x='89.880' y='26.040'
+   style='font-weight: bold; text-anchor: middle; fill: blue;'
+   onclick='window.open(&quot;#k1&quot;, &quot;_self&quot;)'>1</text>
+  <line
+   x1='39.960' y1='39.960' x2='89.880' y2='39.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='39.960' y='26.040' style='text-anchor: middle; fill: black;'
+   onclick='window.open(&quot;#k0&quot;, &quot;_self&quot;)'>0</text>
+  </svg></div>
+
+<pre>(defprotocol eqtest basic
+  (defrole init
+    (vars (n1 n2 text) (k skey))
+    (trace (send (cat n1 (enc n1 n2 k))) (recv n2))
+    (non-orig k)
+    (uniq-orig n1 n2)))</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='229.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 79.920 229.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='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <g><title>n2</title>
+   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(cat n1 (enc n1 n2 k))</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((n1 n1) (n2 n2) (k k))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='39.960' y='39.960' style='text-anchor: middle;'>eqtest 0</text>
+  </svg></div>
+
+<pre>(defskeleton eqtest
+  (vars (n1 n2 text) (k skey))
+  (defstrand init 2 (n1 n1) (n2 n2) (k k))
+  (non-orig k)
+  (uniq-orig n1 n2)
+  (label 0)
+  (unrealized (0 1))
+  (origs (n1 (0 0)) (n2 (0 0)))
+  (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>.</p>
+
+<div>
+ <svg
+  class='diagram' width='79.920pt' height='229.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 79.920 229.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='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <g><title>n1</title>
+   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(cat n1 (enc n1 n1 k))</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((n1 n1) (n2 n1) (k k))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='39.960' y='39.960'
+   style='text-anchor: middle;'>eqtest 1 (realized)</text></svg></div>
+
+<pre>(defskeleton eqtest
+  (vars (n1 text) (k skey))
+  (defstrand init 2 (n1 n1) (n2 n1) (k k))
+  (non-orig k)
+  (uniq-orig n1)
+  (operation nonce-test (displaced 1 0 init 1) n2 (0 1) (enc n1 n2 k))
+  (label 1)
+  (parent 0)
+  (unrealized)
+  (shape)
+  (maps ((0) ((n1 n1) (n2 n1) (k k))))
+  (origs (n1 (0 0))))</pre>
+
+<p id="t2">Tree <a href="#top">2</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='129.840pt' height='79.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 129.840 79.920' font-size='12.000'>
+  <text
+   x='89.880' y='26.040'
+   style='font-weight: bold; text-anchor: middle; fill: blue;'
+   onclick='window.open(&quot;#k3&quot;, &quot;_self&quot;)'>3</text>
+  <line
+   x1='39.960' y1='39.960' x2='89.880' y2='39.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='39.960' y='26.040' style='text-anchor: middle; fill: black;'
+   onclick='window.open(&quot;#k2&quot;, &quot;_self&quot;)'>2</text>
+  </svg></div>
+
+<pre>(defprotocol eqtest basic
+  (defrole init
+    (vars (n1 n2 text) (k skey))
+    (trace (send (cat n1 (enc n1 n2 k))) (recv n2))
+    (non-orig k)
+    (uniq-orig n1 n2)))</pre>
+
+<p id="k2">Item <a href="#t2">2</a>, Child: <a href="#k3">3</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='79.920pt' height='229.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 79.920 229.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='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <g><title>n2</title>
+   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(cat n1 (enc n1 n2 k))</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((n1 n1) (n2 n2) (k k))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='39.960' y='39.960' style='text-anchor: middle;'>eqtest 2</text>
+  </svg></div>
+
+<pre>(defskeleton eqtest
+  (vars (n1 n2 text) (k skey))
+  (defstrand init 2 (n1 n1) (n2 n2) (k k))
+  (non-orig k)
+  (uniq-orig n1 n2)
+  (label 2)
+  (unrealized (0 1))
+  (origs (n1 (0 0)) (n2 (0 0)))
+  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
+
+<p id="k3">Item <a href="#t2">3</a>, Parent: <a href="#k2">2</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='79.920pt' height='229.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 79.920 229.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='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <g><title>n1</title>
+   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(cat n1 (enc n1 n1 k))</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((n1 n1) (n2 n1) (k k))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='39.960' y='39.960'
+   style='text-anchor: middle;'>eqtest 3 (realized)</text></svg></div>
+
+<pre>(defskeleton eqtest
+  (vars (n1 text) (k skey))
+  (defstrand init 2 (n1 n1) (n2 n1) (k k))
+  (non-orig k)
+  (uniq-orig n1)
+  (operation nonce-test (displaced 1 0 init 1) n2 (0 1) (enc n1 n2 k))
+  (label 3)
+  (parent 2)
+  (unrealized)
+  (shape)
+  (maps ((0) ((n1 n1) (n2 n1) (k k))))
+  (origs (n1 (0 0))))</pre>
+
+<p id="t4">Tree <a href="#top">4</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='129.840pt' height='79.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 129.840 79.920' font-size='12.000'>
+  <text
+   x='89.880' y='26.040'
+   style='font-weight: bold; text-anchor: middle; fill: blue;'
+   onclick='window.open(&quot;#k5&quot;, &quot;_self&quot;)'>5</text>
+  <line
+   x1='39.960' y1='39.960' x2='89.880' y2='39.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='39.960' y='26.040' style='text-anchor: middle; fill: black;'
+   onclick='window.open(&quot;#k4&quot;, &quot;_self&quot;)'>4</text>
+  </svg></div>
+
+<pre>(defprotocol eqtest basic
+  (defrole init
+    (vars (n1 n2 text) (k skey))
+    (trace (send (cat n1 (enc n1 n2 k))) (recv n2))
+    (non-orig k)
+    (uniq-orig n1 n2)))</pre>
+
+<p id="k4">Item <a href="#t4">4</a>, Child: <a href="#k5">5</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='79.920pt' height='229.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 79.920 229.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='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <g><title>n2</title>
+   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(cat n1 (enc n1 n2 k))</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((n1 n1) (n2 n2) (k k))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='39.960' y='39.960' style='text-anchor: middle;'>eqtest 4</text>
+  </svg></div>
+
+<pre>(defskeleton eqtest
+  (vars (n1 n2 text) (k skey))
+  (defstrand init 2 (n1 n1) (n2 n2) (k k))
+  (fn-of (&quot;foo&quot; (n1 &quot;bar&quot;) (n2 &quot;bar&quot;)))
+  (non-orig k)
+  (uniq-orig n1 n2)
+  (label 4)
+  (unrealized (0 1))
+  (preskeleton)
+  (comment &quot;Not a skeleton&quot;))</pre>
+
+<p id="k5">Item <a href="#t4">5</a>, Parent: <a href="#k4">4</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='79.920pt' height='229.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 79.920 229.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='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <g><title>n2</title>
+   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(cat n2 (enc n2 n2 k))</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((n1 n2) (n2 n2) (k k))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='39.960' y='39.960'
+   style='text-anchor: middle;'>eqtest 5 (realized)</text></svg></div>
+
+<pre>(defskeleton eqtest
+  (vars (n2 text) (k skey))
+  (defstrand init 2 (n1 n2) (n2 n2) (k k))
+  (fn-of (&quot;foo&quot; (n2 &quot;bar&quot;)))
+  (non-orig k)
+  (uniq-orig n2)
+  (label 5)
+  (parent 4)
+  (unrealized)
+  (shape)
+  (maps ((0) ((n2 n2) (k k))))
+  (origs (n2 (0 0))))</pre>
+
+</body>
+</html>
diff --git a/doc/examples/ffgg.xhtml b/doc/examples/ffgg.xhtml
--- a/doc/examples/ffgg.xhtml
+++ b/doc/examples/ffgg.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>The ffgg Protocol</title>
@@ -12,7 +12,7 @@
 
 <pre>(herald &quot;The ffgg Protocol&quot;
   (comment &quot;From A Necessarily Parallel Attack by Jon K. Millen&quot;))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from ffgg.scm&quot;)</pre>
 
 <p id="t0">Tree 0.</p>
diff --git a/doc/examples/fnof_test.xhtml b/doc/examples/fnof_test.xhtml
--- a/doc/examples/fnof_test.xhtml
+++ b/doc/examples/fnof_test.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Function constraint test protocol</title>
@@ -12,7 +12,7 @@
 
 <pre>(herald &quot;Function constraint test protocol&quot;
   (comment &quot;Skeletons 2, 4, and 7 should have no shapes.&quot;))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from fnof_test.scm&quot;)</pre>
 
 <p id="top">Trees: <a href="#t0">0</a> <a href="#t2">2</a> <a href="#t3">3</a> <a href="#t5">5</a> <a href="#t6">6</a> <a href="#t8">8</a> <a href="#t10">10</a>.</p>
diff --git a/doc/examples/fnof_yahalom.xhtml b/doc/examples/fnof_yahalom.xhtml
--- a/doc/examples/fnof_yahalom.xhtml
+++ b/doc/examples/fnof_yahalom.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Yahalom Protocol with Forwarding Removed, using fnof to emulate ltk function</title>
@@ -13,7 +13,7 @@
 <pre>(herald
   &quot;Yahalom Protocol with Forwarding Removed, using fnof to emulate ltk function&quot;
   (bound 12))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from fnof_yahalom.scm&quot;)</pre>
 
 <p id="top">Trees: <a href="#t0">0</a> <a href="#t4">4</a> <a href="#t10">10</a> <a href="#t15">15</a>.</p>
diff --git a/doc/examples/goals.xhtml b/doc/examples/goals.xhtml
--- a/doc/examples/goals.xhtml
+++ b/doc/examples/goals.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>goals</title>
@@ -11,7 +11,7 @@
 <body>
 
 <pre>(herald goals)
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from goals.scm&quot;)</pre>
 
 <p id="top">Trees: <a href="#t0">0</a> <a href="#t2">2</a> <a href="#t4">4</a> <a href="#t6">6</a> <a href="#t8">8</a> <a href="#t17">17</a> <a href="#t19">19</a> <a href="#t21">21</a> <a href="#t23">23</a> <a href="#t26">26</a> <a href="#t28">28</a> <a href="#t33">33</a> <a href="#t41">41</a> <a href="#t45">45</a> <a href="#t47">47</a> <a href="#t49">49</a> <a href="#t52">52</a> <a href="#t54">54</a> <a href="#t57">57</a> <a href="#t62">62</a> <a href="#t65">65</a>.</p>
diff --git a/doc/examples/iadh_um.scm b/doc/examples/iadh_um.scm
--- a/doc/examples/iadh_um.scm
+++ b/doc/examples/iadh_um.scm
@@ -28,18 +28,18 @@
 
 (defprotocol iadh-um diffie-hellman
   (defrole participant
-    (vars (l e expn) (hl he base) (self peer name) (key n data))
+    (vars (l e rndx) (lp ep expt) (self peer name) (key n data))
     (trace
      (recv (enc "cert" (exp (gen) l) self (privk self)))
-     (recv (enc "cert" hl peer (privk peer)))
+     (recv (enc "cert" (exp (gen) lp) peer (privk peer)))
      (send (exp (gen) e))
-     (recv he)
+     (recv (exp (gen) ep))
      (send key))
-    (fn-of (foo ((hash (exp hl l) (exp he e)) key)))
+    (fn-of (foo ((hash (exp (gen) (mul l lp)) (exp (gen) (mul e ep))) key)))
     (uniq-gen e)
-    (neq (he (gen))))
+    (neq (ep (one))))
   (defrole ltx-gen
-    (vars (self name) (l expn))
+    (vars (self name) (l rndx))
     (trace
      (send (enc "cert" (exp (gen) l) self (privk self)))
      (send l))
@@ -51,7 +51,7 @@
 ;; Implicit authentication: participants will agree on the resulting key
 ;; foo(key).  Therefore they should agree on the names A and B.
  (defskeleton iadh-um
-  (vars (key data) (eA lA eB lB expn) (A B C D name))
+  (vars (key data) (eA lA eB lB rndx) (A B C D name))
   (defstrand participant 5 (key key) (e eA) (l lA) (self A) (peer C))
   (defstrand participant 5 (key key) (e eB) (l lB) (self B) (peer D))
   (non-orig lA lB)
@@ -62,10 +62,10 @@
 
  ;; Security: 
 (defskeleton iadh-um
-  (vars (e1 e2 l expn) (hl base) (A B name))
-  (defstrand participant 5 (e e1) (l l) (he (exp (gen) e2)) (hl hl) (self A) (peer B))
+  (vars (e1 e2 l rndx) (lp expt) (A B name))
+  (defstrand participant 5 (e e1) (l l) (ep e2) (lp lp) (self A) (peer B))
   (defstrand participant 3 (e e2))
-  (deflistener (hash (exp hl l) (exp (gen) (mul e1 e2))))
+  (deflistener (hash (exp (gen) (mul l lp)) (exp (gen) (mul e1 e2))))
   (non-orig (privk A) (privk B))
 )
 
diff --git a/doc/examples/iadh_um.xhtml b/doc/examples/iadh_um.xhtml
# file too large to diff: doc/examples/iadh_um.xhtml
diff --git a/doc/examples/kerb.scm b/doc/examples/kerb.scm
--- a/doc/examples/kerb.scm
+++ b/doc/examples/kerb.scm
@@ -1,76 +1,76 @@
-; Flawed and Fixed Kerberos
-
-; In this example, the initiator is trying to send a private message
-; to the responder.  Each are presumed to share a long-term private key
-; with the key server, which will choose a fresh session key on request
-; and encrypt it for both parties.
-
-; A flaw exists in the protocol intentionally: the initiator will need
-; confirmation that the session key is shared between the initiator and
-; the partner they specified.
-
-; This version of the protocol is not modeled properly and misses the flaw.
-(defprotocol kerb-flawed basic
-  (defrole init
-    (vars (a b s name) (m n text) (k skey))
-    (trace
-       ;; Make the request
-       (send (cat a b n)) 
-       ;; Receive the encrypted key and ticket
-       (recv (cat (enc k n (ltk a s)) (enc k a b (ltk b s)))) 
-       (send (cat (enc m k) (enc k a b (ltk b s)))))
-    (uniq-orig n))
-  (defrole resp
-    (vars (a b s name) (m text) (k skey))
-    (trace
-       (recv (cat (enc m k) (enc k a b (ltk b s))))))
-  (defrole keyserv
-    (vars (a b s name) (m n text) (k skey))
-    (trace
-       ;; Receive the request
-       (recv (cat a b n))
-       ;; Send the encrypted key and ticket
-       (send (cat (enc k n (ltk a s)) (enc k a b (ltk b s)))))
-    (uniq-orig k))
-)
-
-; This skeleton should be dead, even though m can leak
-(defskeleton kerb-flawed
-  (vars (a b s name) (m text))
-  (defstrand init 3 (a a) (b b) (s s) (m m))
-  (deflistener m)
-  (non-orig (ltk a s) (ltk b s))
-  (uniq-orig m))
-
-; This version of the protocol is not modeled properly, with a generic variable (ticket)
-(defprotocol kerb-flawed2 basic
-  (defrole init
-    (vars (a b s name) (ticket mesg) (m n text) (k skey))
-    (trace
-       ;; Make the request
-       (send (cat a b n)) 
-       ;; Receive the encrypted key and ticket
-       (recv (cat (enc k n (ltk a s)) ticket))
-       (send (cat (enc m k) ticket)))
-    (uniq-orig n))
-  (defrole resp
-    (vars (a b s name) (m text) (k skey))
-    (trace
-       (recv (cat (enc m k) (enc k a b (ltk b s))))))
-  (defrole keyserv
-    (vars (a b s name) (m n text) (k skey))
-    (trace
-       ;; Receive the request
-       (recv (cat a b n))
-       ;; Send the encrypted key and ticket
-       (send (cat (enc k n (ltk a s)) (enc k a b (ltk b s)))))
-    (uniq-orig k))
-)
-
-; This skeleton should have a shape, demonstrating that m may be leaked.  
-(defskeleton kerb-flawed2
-  (vars (a b s name) (m text))
-  (defstrand init 3 (a a) (b b) (s s) (m m))
-  (deflistener m)
-  (non-orig (ltk a s) (ltk b s))
-  (uniq-orig m))
+; Flawed and Fixed Kerberos
+
+; In this example, the initiator is trying to send a private message
+; to the responder.  Each are presumed to share a long-term private key
+; with the key server, which will choose a fresh session key on request
+; and encrypt it for both parties.
+
+; A flaw exists in the protocol intentionally: the initiator will need
+; confirmation that the session key is shared between the initiator and
+; the partner they specified.
+
+; This version of the protocol is not modeled properly and misses the flaw.
+(defprotocol kerb-flawed basic
+  (defrole init
+    (vars (a b s name) (m n text) (k skey))
+    (trace
+       ;; Make the request
+       (send (cat a b n))
+       ;; Receive the encrypted key and ticket
+       (recv (cat (enc k n (ltk a s)) (enc k a b (ltk b s))))
+       (send (cat (enc m k) (enc k a b (ltk b s)))))
+    (uniq-orig n))
+  (defrole resp
+    (vars (a b s name) (m text) (k skey))
+    (trace
+       (recv (cat (enc m k) (enc k a b (ltk b s))))))
+  (defrole keyserv
+    (vars (a b s name) (m n text) (k skey))
+    (trace
+       ;; Receive the request
+       (recv (cat a b n))
+       ;; Send the encrypted key and ticket
+       (send (cat (enc k n (ltk a s)) (enc k a b (ltk b s)))))
+    (uniq-orig k))
+)
+
+; This skeleton should be dead, even though m can leak
+(defskeleton kerb-flawed
+  (vars (a b s name) (m text))
+  (defstrand init 3 (a a) (b b) (s s) (m m))
+  (deflistener m)
+  (non-orig (ltk a s) (ltk b s))
+  (uniq-orig m))
+
+; This version of the protocol is modeled properly, with a generic variable (ticket)
+(defprotocol kerb-flawed2 basic
+  (defrole init
+    (vars (a b s name) (ticket mesg) (m n text) (k skey))
+    (trace
+       ;; Make the request
+       (send (cat a b n))
+       ;; Receive the encrypted key and ticket
+       (recv (cat (enc k n (ltk a s)) ticket))
+       (send (cat (enc m k) ticket)))
+    (uniq-orig n))
+  (defrole resp
+    (vars (a b s name) (m text) (k skey))
+    (trace
+       (recv (cat (enc m k) (enc k a b (ltk b s))))))
+  (defrole keyserv
+    (vars (a b s name) (m n text) (k skey))
+    (trace
+       ;; Receive the request
+       (recv (cat a b n))
+       ;; Send the encrypted key and ticket
+       (send (cat (enc k n (ltk a s)) (enc k a b (ltk b s)))))
+    (uniq-orig k))
+)
+
+; This skeleton should have a shape, demonstrating that m may be leaked.
+(defskeleton kerb-flawed2
+  (vars (a b s name) (m text))
+  (defstrand init 3 (a a) (b b) (s s) (m m))
+  (deflistener m)
+  (non-orig (ltk a s) (ltk b s))
+  (uniq-orig m))
diff --git a/doc/examples/kerb.xhtml b/doc/examples/kerb.xhtml
--- a/doc/examples/kerb.xhtml
+++ b/doc/examples/kerb.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>kerb-flawed</title>
@@ -10,7 +10,7 @@
 </head>
 <body>
 
-<pre>(comment &quot;CPSA 3.4.0&quot;)
+<pre>(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from kerb.scm&quot;)</pre>
 
 <p id="top">Trees: <a href="#t0">0</a> <a href="#t5">5</a>.</p>
diff --git a/doc/examples/lt_test.xhtml b/doc/examples/lt_test.xhtml
--- a/doc/examples/lt_test.xhtml
+++ b/doc/examples/lt_test.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Less-than constraint test protocol</title>
@@ -13,7 +13,7 @@
 <pre>(herald &quot;Less-than constraint test protocol&quot;
   (comment &quot;First and third skeletons should have a shape,&quot;
     &quot;second and fourth should be dead.&quot;))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from lt_test.scm&quot;)</pre>
 
 <p id="top">Trees: <a href="#t0">0</a> <a href="#t2">2</a> <a href="#t3">3</a> <a href="#t5">5</a>.</p>
diff --git a/doc/examples/neq_test.xhtml b/doc/examples/neq_test.xhtml
--- a/doc/examples/neq_test.xhtml
+++ b/doc/examples/neq_test.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Inequality constraint test protocol</title>
@@ -13,7 +13,7 @@
 <pre>(herald &quot;Inequality constraint test protocol&quot;
   (comment &quot;First skeleton should have a shape,&quot;
     &quot;second, and hird should be dead.&quot;))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from neq_test.scm&quot;)</pre>
 
 <p id="top">Trees: <a href="#t0">0</a> <a href="#t2">2</a> <a href="#t3">3</a>.</p>
diff --git a/doc/examples/ns.xhtml b/doc/examples/ns.xhtml
--- a/doc/examples/ns.xhtml
+++ b/doc/examples/ns.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Needham-Schroeder Public-Key Protocol</title>
@@ -13,7 +13,7 @@
 <pre>(herald &quot;Needham-Schroeder Public-Key Protocol&quot;
   (comment &quot;This protocol contains a man-in-the-middle&quot;
     &quot;attack discovered by Galvin Lowe.&quot;))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from ns.scm&quot;)</pre>
 
 <p id="top">Trees: <a href="#t0">0</a> <a href="#t3">3</a>.</p>
diff --git a/doc/examples/or.xhtml b/doc/examples/or.xhtml
--- a/doc/examples/or.xhtml
+++ b/doc/examples/or.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Otway-Rees Protocol</title>
@@ -12,7 +12,7 @@
 
 <pre>(herald &quot;Otway-Rees Protocol&quot;
   (comment &quot;Standard version using variables of sort mesg&quot;))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from or.scm&quot;)</pre>
 
 <p id="t0">Tree 0.</p>
diff --git a/doc/examples/pkinit.xhtml b/doc/examples/pkinit.xhtml
--- a/doc/examples/pkinit.xhtml
+++ b/doc/examples/pkinit.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Kerberos PKINIT</title>
@@ -11,7 +11,7 @@
 <body>
 
 <pre>(herald &quot;Kerberos PKINIT&quot;)
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from pkinit.scm&quot;)</pre>
 
 <p id="top">Trees: <a href="#t0">0</a> <a href="#t2">2</a> <a href="#t8">8</a> <a href="#t13">13</a> <a href="#t16">16</a> <a href="#t23">23</a>.</p>
diff --git a/doc/examples/plaindh.scm b/doc/examples/plaindh.scm
--- a/doc/examples/plaindh.scm
+++ b/doc/examples/plaindh.scm
@@ -4,22 +4,21 @@
 
 (defprotocol plaindh diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (n text))
-    (trace (send (exp (gen) x)) 
-           (recv h) 
-           (send (enc n (exp h x)))
+    (vars (x rndx) (y expt) (n text))
+    (trace (send (exp (gen) x))
+           (recv (exp (gen) y))
+           (send (enc n (exp (gen) (mul x y))))
            (recv n))
     (uniq-orig n)
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (n text))
-    (trace (recv h) 
-           (send (exp (gen) y)) 
-           (recv (enc n (exp h y)))
+    (vars (y rndx) (x expt) (n text))
+    (trace (recv (exp (gen) x))
+           (send (exp (gen) y))
+           (recv (enc n (exp (gen) (mul x y))))
            (send n))
     (uniq-gen y))
   (comment "Diffie-hellman key exchange followed by an encryption"))
-
 
 (defskeleton plaindh
   (vars )
diff --git a/doc/examples/plaindh.xhtml b/doc/examples/plaindh.xhtml
--- a/doc/examples/plaindh.xhtml
+++ b/doc/examples/plaindh.xhtml
@@ -1,25183 +1,91 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>Plain diffie-hellman protocol with challenge-response</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;Plain diffie-hellman protocol with challenge-response&quot;
-  (algebra diffie-hellman))
-(comment &quot;CPSA 3.4.0&quot;)
-(comment &quot;All input read from plaindh.scm&quot;)</pre>
-
-<p id="t0">Tree 0.</p>
-
-<div>
- <svg
-  class='diagram' width='429.360pt' height='9079.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 429.360 9079.920' font-size='12.000'>
-  <text
-   x='389.400' y='9026.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k232&quot;, &quot;_self&quot;)'>232</text>
-  <line
-   x1='339.480' y1='9039.960' x2='389.400' y2='9039.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='9026.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k194&quot;, &quot;_self&quot;)'>194</text>
-  <line
-   x1='289.560' y1='8927.460' x2='339.480' y2='9039.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='8951.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k231&quot;, &quot;_self&quot;)'>231</text>
-  <line
-   x1='339.480' y1='8964.960' x2='389.400' y2='8964.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8951.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k193&quot;, &quot;_self&quot;)'>193</text>
-  <line
-   x1='289.560' y1='8927.460' x2='339.480' y2='8964.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='8876.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k230&quot;, &quot;_self&quot;)'>230</text>
-  <line
-   x1='339.480' y1='8889.960' x2='389.400' y2='8889.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8876.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k192&quot;, &quot;_self&quot;)'>192</text>
-  <line
-   x1='289.560' y1='8927.460' x2='339.480' y2='8889.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8801.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k191&quot;, &quot;_self&quot;)'>191</text>
-  <line
-   x1='289.560' y1='8927.460' x2='339.480' y2='8814.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='8913.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k124&quot;, &quot;_self&quot;)'>124</text>
-  <line
-   x1='239.640' y1='8439.960' x2='289.560' y2='8927.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8726.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k190&quot;, &quot;_self&quot;)'>190</text>
-  <line
-   x1='289.560' y1='8664.960' x2='339.480' y2='8739.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='8651.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k229&quot;, &quot;_self&quot;)'>229</text>
-  <line
-   x1='339.480' y1='8664.960' x2='389.400' y2='8664.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8651.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k189&quot;, &quot;_self&quot;)'>189</text>
-  <line
-   x1='289.560' y1='8664.960' x2='339.480' y2='8664.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='8576.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k228&quot;, &quot;_self&quot;)'>228</text>
-  <line
-   x1='339.480' y1='8589.960' x2='389.400' y2='8589.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8576.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k188&quot;, &quot;_self&quot;)'>188</text>
-  <line
-   x1='289.560' y1='8664.960' x2='339.480' y2='8589.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='8651.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k123&quot;, &quot;_self&quot;)'>123</text>
-  <line
-   x1='239.640' y1='8439.960' x2='289.560' y2='8664.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='8501.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k227&quot;, &quot;_self&quot;)'>227</text>
-  <line
-   x1='339.480' y1='8514.960' x2='389.400' y2='8514.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8501.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k187&quot;, &quot;_self&quot;)'>187</text>
-  <line
-   x1='289.560' y1='8402.460' x2='339.480' y2='8514.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='8426.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k226&quot;, &quot;_self&quot;)'>226</text>
-  <line
-   x1='339.480' y1='8439.960' x2='389.400' y2='8439.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8426.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k186&quot;, &quot;_self&quot;)'>186</text>
-  <line
-   x1='289.560' y1='8402.460' x2='339.480' y2='8439.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='8351.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k225&quot;, &quot;_self&quot;)'>225</text>
-  <line
-   x1='339.480' y1='8364.960' x2='389.400' y2='8364.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8351.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k185&quot;, &quot;_self&quot;)'>185</text>
-  <line
-   x1='289.560' y1='8402.460' x2='339.480' y2='8364.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8276.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k184&quot;, &quot;_self&quot;)'>184</text>
-  <line
-   x1='289.560' y1='8402.460' x2='339.480' y2='8289.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='8388.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k122&quot;, &quot;_self&quot;)'>122</text>
-  <line
-   x1='239.640' y1='8439.960' x2='289.560' y2='8402.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='8201.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k224&quot;, &quot;_self&quot;)'>224</text>
-  <line
-   x1='339.480' y1='8214.960' x2='389.400' y2='8214.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8201.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k183&quot;, &quot;_self&quot;)'>183</text>
-  <line
-   x1='289.560' y1='8139.960' x2='339.480' y2='8214.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='8126.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k223&quot;, &quot;_self&quot;)'>223</text>
-  <line
-   x1='339.480' y1='8139.960' x2='389.400' y2='8139.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8126.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k182&quot;, &quot;_self&quot;)'>182</text>
-  <line
-   x1='289.560' y1='8139.960' x2='339.480' y2='8139.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='8051.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k181&quot;, &quot;_self&quot;)'>181</text>
-  <line
-   x1='289.560' y1='8139.960' x2='339.480' y2='8064.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='8126.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k121&quot;, &quot;_self&quot;)'>121</text>
-  <line
-   x1='239.640' y1='8439.960' x2='289.560' y2='8139.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='7976.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k222&quot;, &quot;_self&quot;)'>222</text>
-  <line
-   x1='339.480' y1='7989.960' x2='389.400' y2='7989.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='7976.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k180&quot;, &quot;_self&quot;)'>180</text>
-  <line
-   x1='289.560' y1='7914.960' x2='339.480' y2='7989.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='7901.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k221&quot;, &quot;_self&quot;)'>221</text>
-  <line
-   x1='339.480' y1='7914.960' x2='389.400' y2='7914.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='7901.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k179&quot;, &quot;_self&quot;)'>179</text>
-  <line
-   x1='289.560' y1='7914.960' x2='339.480' y2='7914.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='7826.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k178&quot;, &quot;_self&quot;)'>178</text>
-  <line
-   x1='289.560' y1='7914.960' x2='339.480' y2='7839.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='7901.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k120&quot;, &quot;_self&quot;)'>120</text>
-  <line
-   x1='239.640' y1='8439.960' x2='289.560' y2='7914.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='8426.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k85&quot;, &quot;_self&quot;)'>85</text>
-  <line
-   x1='189.720' y1='8252.460' x2='239.640' y2='8439.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='7751.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k84&quot;, &quot;_self&quot;)'>84</text>
-  <line
-   x1='189.720' y1='8252.460' x2='239.640' y2='7764.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='7676.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k83&quot;, &quot;_self&quot;)'>83</text>
-  <line
-   x1='189.720' y1='8252.460' x2='239.640' y2='7689.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='7601.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k82&quot;, &quot;_self&quot;)'>82</text>
-  <line
-   x1='189.720' y1='8252.460' x2='239.640' y2='7614.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='7526.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k81&quot;, &quot;_self&quot;)'>81</text>
-  <line
-   x1='189.720' y1='8252.460' x2='239.640' y2='7539.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='7451.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k80&quot;, &quot;_self&quot;)'>80</text>
-  <line
-   x1='189.720' y1='8252.460' x2='239.640' y2='7464.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='8238.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k28&quot;, &quot;_self&quot;)'>28</text>
-  <line
-   x1='139.800' y1='6789.960' x2='189.720' y2='8252.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='7376.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k220&quot;, &quot;_self&quot;)'>220</text>
-  <line
-   x1='339.480' y1='7389.960' x2='389.400' y2='7389.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='7376.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k177&quot;, &quot;_self&quot;)'>177</text>
-  <line
-   x1='289.560' y1='7277.460' x2='339.480' y2='7389.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='7301.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k219&quot;, &quot;_self&quot;)'>219</text>
-  <line
-   x1='339.480' y1='7314.960' x2='389.400' y2='7314.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='7301.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k176&quot;, &quot;_self&quot;)'>176</text>
-  <line
-   x1='289.560' y1='7277.460' x2='339.480' y2='7314.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='7226.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k218&quot;, &quot;_self&quot;)'>218</text>
-  <line
-   x1='339.480' y1='7239.960' x2='389.400' y2='7239.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='7226.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k175&quot;, &quot;_self&quot;)'>175</text>
-  <line
-   x1='289.560' y1='7277.460' x2='339.480' y2='7239.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='7151.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k174&quot;, &quot;_self&quot;)'>174</text>
-  <line
-   x1='289.560' y1='7277.460' x2='339.480' y2='7164.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='7263.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k119&quot;, &quot;_self&quot;)'>119</text>
-  <line
-   x1='239.640' y1='6789.960' x2='289.560' y2='7277.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='7076.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k217&quot;, &quot;_self&quot;)'>217</text>
-  <line
-   x1='339.480' y1='7089.960' x2='389.400' y2='7089.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='7076.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k173&quot;, &quot;_self&quot;)'>173</text>
-  <line
-   x1='289.560' y1='6977.460' x2='339.480' y2='7089.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='7001.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k216&quot;, &quot;_self&quot;)'>216</text>
-  <line
-   x1='339.480' y1='7014.960' x2='389.400' y2='7014.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='7001.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k172&quot;, &quot;_self&quot;)'>172</text>
-  <line
-   x1='289.560' y1='6977.460' x2='339.480' y2='7014.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='6926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k215&quot;, &quot;_self&quot;)'>215</text>
-  <line
-   x1='339.480' y1='6939.960' x2='389.400' y2='6939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='6926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k171&quot;, &quot;_self&quot;)'>171</text>
-  <line
-   x1='289.560' y1='6977.460' x2='339.480' y2='6939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='6851.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k170&quot;, &quot;_self&quot;)'>170</text>
-  <line
-   x1='289.560' y1='6977.460' x2='339.480' y2='6864.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='6963.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k118&quot;, &quot;_self&quot;)'>118</text>
-  <line
-   x1='239.640' y1='6789.960' x2='289.560' y2='6977.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='6776.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k169&quot;, &quot;_self&quot;)'>169</text>
-  <line
-   x1='289.560' y1='6714.960' x2='339.480' y2='6789.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='6701.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k214&quot;, &quot;_self&quot;)'>214</text>
-  <line
-   x1='339.480' y1='6714.960' x2='389.400' y2='6714.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='6701.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k168&quot;, &quot;_self&quot;)'>168</text>
-  <line
-   x1='289.560' y1='6714.960' x2='339.480' y2='6714.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='6626.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k213&quot;, &quot;_self&quot;)'>213</text>
-  <line
-   x1='339.480' y1='6639.960' x2='389.400' y2='6639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='6626.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k167&quot;, &quot;_self&quot;)'>167</text>
-  <line
-   x1='289.560' y1='6714.960' x2='339.480' y2='6639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='6701.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k117&quot;, &quot;_self&quot;)'>117</text>
-  <line
-   x1='239.640' y1='6789.960' x2='289.560' y2='6714.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='6551.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k212&quot;, &quot;_self&quot;)'>212</text>
-  <line
-   x1='339.480' y1='6564.960' x2='389.400' y2='6564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='6551.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k166&quot;, &quot;_self&quot;)'>166</text>
-  <line
-   x1='289.560' y1='6489.960' x2='339.480' y2='6564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='6476.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k211&quot;, &quot;_self&quot;)'>211</text>
-  <line
-   x1='339.480' y1='6489.960' x2='389.400' y2='6489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='6476.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k165&quot;, &quot;_self&quot;)'>165</text>
-  <line
-   x1='289.560' y1='6489.960' x2='339.480' y2='6489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='6401.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k164&quot;, &quot;_self&quot;)'>164</text>
-  <line
-   x1='289.560' y1='6489.960' x2='339.480' y2='6414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='6476.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k116&quot;, &quot;_self&quot;)'>116</text>
-  <line
-   x1='239.640' y1='6789.960' x2='289.560' y2='6489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='6326.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k210&quot;, &quot;_self&quot;)'>210</text>
-  <line
-   x1='339.480' y1='6339.960' x2='389.400' y2='6339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='6326.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k163&quot;, &quot;_self&quot;)'>163</text>
-  <line
-   x1='289.560' y1='6264.960' x2='339.480' y2='6339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='6251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k209&quot;, &quot;_self&quot;)'>209</text>
-  <line
-   x1='339.480' y1='6264.960' x2='389.400' y2='6264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='6251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k162&quot;, &quot;_self&quot;)'>162</text>
-  <line
-   x1='289.560' y1='6264.960' x2='339.480' y2='6264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='6176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k161&quot;, &quot;_self&quot;)'>161</text>
-  <line
-   x1='289.560' y1='6264.960' x2='339.480' y2='6189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='6251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k115&quot;, &quot;_self&quot;)'>115</text>
-  <line
-   x1='239.640' y1='6789.960' x2='289.560' y2='6264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='6776.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k79&quot;, &quot;_self&quot;)'>79</text>
-  <line
-   x1='189.720' y1='6602.460' x2='239.640' y2='6789.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='6101.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k78&quot;, &quot;_self&quot;)'>78</text>
-  <line
-   x1='189.720' y1='6602.460' x2='239.640' y2='6114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='6026.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k77&quot;, &quot;_self&quot;)'>77</text>
-  <line
-   x1='189.720' y1='6602.460' x2='239.640' y2='6039.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='5951.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k76&quot;, &quot;_self&quot;)'>76</text>
-  <line
-   x1='189.720' y1='6602.460' x2='239.640' y2='5964.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='5876.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k75&quot;, &quot;_self&quot;)'>75</text>
-  <line
-   x1='189.720' y1='6602.460' x2='239.640' y2='5889.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='5801.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k74&quot;, &quot;_self&quot;)'>74</text>
-  <line
-   x1='189.720' y1='6602.460' x2='239.640' y2='5814.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='6588.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k27&quot;, &quot;_self&quot;)'>27</text>
-  <line
-   x1='139.800' y1='6789.960' x2='189.720' y2='6602.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='5726.040'
-   style='font-weight: bold; text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k114&quot;, &quot;_self&quot;)'>114</text>
-  <line
-   x1='239.640' y1='5739.960' x2='289.560' y2='5739.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='5726.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k73&quot;, &quot;_self&quot;)'>73</text>
-  <line
-   x1='189.720' y1='5739.960' x2='239.640' y2='5739.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='5726.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k26&quot;, &quot;_self&quot;)'>26</text>
-  <line
-   x1='139.800' y1='6789.960' x2='189.720' y2='5739.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='5651.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k208&quot;, &quot;_self&quot;)'>208</text>
-  <line
-   x1='339.480' y1='5664.960' x2='389.400' y2='5664.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='5651.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k160&quot;, &quot;_self&quot;)'>160</text>
-  <line
-   x1='289.560' y1='5589.960' x2='339.480' y2='5664.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='5576.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k207&quot;, &quot;_self&quot;)'>207</text>
-  <line
-   x1='339.480' y1='5589.960' x2='389.400' y2='5589.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='5576.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k159&quot;, &quot;_self&quot;)'>159</text>
-  <line
-   x1='289.560' y1='5589.960' x2='339.480' y2='5589.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='5501.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k158&quot;, &quot;_self&quot;)'>158</text>
-  <line
-   x1='289.560' y1='5589.960' x2='339.480' y2='5514.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='5576.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k113&quot;, &quot;_self&quot;)'>113</text>
-  <line
-   x1='239.640' y1='5252.460' x2='289.560' y2='5589.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='5426.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k206&quot;, &quot;_self&quot;)'>206</text>
-  <line
-   x1='339.480' y1='5439.960' x2='389.400' y2='5439.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='5426.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k157&quot;, &quot;_self&quot;)'>157</text>
-  <line
-   x1='289.560' y1='5364.960' x2='339.480' y2='5439.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='5351.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k205&quot;, &quot;_self&quot;)'>205</text>
-  <line
-   x1='339.480' y1='5364.960' x2='389.400' y2='5364.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='5351.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k156&quot;, &quot;_self&quot;)'>156</text>
-  <line
-   x1='289.560' y1='5364.960' x2='339.480' y2='5364.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='5276.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k155&quot;, &quot;_self&quot;)'>155</text>
-  <line
-   x1='289.560' y1='5364.960' x2='339.480' y2='5289.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='5351.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k112&quot;, &quot;_self&quot;)'>112</text>
-  <line
-   x1='239.640' y1='5252.460' x2='289.560' y2='5364.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='5201.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k154&quot;, &quot;_self&quot;)'>154</text>
-  <line
-   x1='289.560' y1='5139.960' x2='339.480' y2='5214.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='5126.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k204&quot;, &quot;_self&quot;)'>204</text>
-  <line
-   x1='339.480' y1='5139.960' x2='389.400' y2='5139.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='5126.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k153&quot;, &quot;_self&quot;)'>153</text>
-  <line
-   x1='289.560' y1='5139.960' x2='339.480' y2='5139.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='5051.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k203&quot;, &quot;_self&quot;)'>203</text>
-  <line
-   x1='339.480' y1='5064.960' x2='389.400' y2='5064.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='5051.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k152&quot;, &quot;_self&quot;)'>152</text>
-  <line
-   x1='289.560' y1='5139.960' x2='339.480' y2='5064.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='5126.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k111&quot;, &quot;_self&quot;)'>111</text>
-  <line
-   x1='239.640' y1='5252.460' x2='289.560' y2='5139.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='4976.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k151&quot;, &quot;_self&quot;)'>151</text>
-  <line
-   x1='289.560' y1='4914.960' x2='339.480' y2='4989.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='4901.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k202&quot;, &quot;_self&quot;)'>202</text>
-  <line
-   x1='339.480' y1='4914.960' x2='389.400' y2='4914.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='4901.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k150&quot;, &quot;_self&quot;)'>150</text>
-  <line
-   x1='289.560' y1='4914.960' x2='339.480' y2='4914.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='4826.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k201&quot;, &quot;_self&quot;)'>201</text>
-  <line
-   x1='339.480' y1='4839.960' x2='389.400' y2='4839.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='4826.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k149&quot;, &quot;_self&quot;)'>149</text>
-  <line
-   x1='289.560' y1='4914.960' x2='339.480' y2='4839.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='4901.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k110&quot;, &quot;_self&quot;)'>110</text>
-  <line
-   x1='239.640' y1='5252.460' x2='289.560' y2='4914.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='5238.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k72&quot;, &quot;_self&quot;)'>72</text>
-  <line
-   x1='189.720' y1='5102.460' x2='239.640' y2='5252.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='4751.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k71&quot;, &quot;_self&quot;)'>71</text>
-  <line
-   x1='189.720' y1='5102.460' x2='239.640' y2='4764.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='4676.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k70&quot;, &quot;_self&quot;)'>70</text>
-  <line
-   x1='189.720' y1='5102.460' x2='239.640' y2='4689.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='4601.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k109&quot;, &quot;_self&quot;)'>109</text>
-  <line
-   x1='239.640' y1='4614.960' x2='289.560' y2='4614.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='4601.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k69&quot;, &quot;_self&quot;)'>69</text>
-  <line
-   x1='189.720' y1='5102.460' x2='239.640' y2='4614.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='4526.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k68&quot;, &quot;_self&quot;)'>68</text>
-  <line
-   x1='189.720' y1='5102.460' x2='239.640' y2='4539.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='5088.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k25&quot;, &quot;_self&quot;)'>25</text>
-  <line
-   x1='139.800' y1='6789.960' x2='189.720' y2='5102.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='6776.040' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k12&quot;, &quot;_self&quot;)'>12</text>
-  <line
-   x1='89.880' y1='6227.460' x2='139.800' y2='6789.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='4451.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k67&quot;, &quot;_self&quot;)'>67</text>
-  <line
-   x1='189.720' y1='4314.960' x2='239.640' y2='4464.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='4376.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k108&quot;, &quot;_self&quot;)'>108</text>
-  <line
-   x1='239.640' y1='4389.960' x2='289.560' y2='4389.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='4376.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k66&quot;, &quot;_self&quot;)'>66</text>
-  <line
-   x1='189.720' y1='4314.960' x2='239.640' y2='4389.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='4301.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k65&quot;, &quot;_self&quot;)'>65</text>
-  <line
-   x1='189.720' y1='4314.960' x2='239.640' y2='4314.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='4226.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k64&quot;, &quot;_self&quot;)'>64</text>
-  <line
-   x1='189.720' y1='4314.960' x2='239.640' y2='4239.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='4151.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k63&quot;, &quot;_self&quot;)'>63</text>
-  <line
-   x1='189.720' y1='4314.960' x2='239.640' y2='4164.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='4301.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k24&quot;, &quot;_self&quot;)'>24</text>
-  <line
-   x1='139.800' y1='4314.960' x2='189.720' y2='4314.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='4301.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k11&quot;, &quot;_self&quot;)'>11</text>
-  <line
-   x1='89.880' y1='6227.460' x2='139.800' y2='4314.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='4076.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k62&quot;, &quot;_self&quot;)'>62</text>
-  <line
-   x1='189.720' y1='3939.960' x2='239.640' y2='4089.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='4001.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k61&quot;, &quot;_self&quot;)'>61</text>
-  <line
-   x1='189.720' y1='3939.960' x2='239.640' y2='4014.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='3926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k107&quot;, &quot;_self&quot;)'>107</text>
-  <line
-   x1='239.640' y1='3939.960' x2='289.560' y2='3939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='3926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k60&quot;, &quot;_self&quot;)'>60</text>
-  <line
-   x1='189.720' y1='3939.960' x2='239.640' y2='3939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='3851.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k59&quot;, &quot;_self&quot;)'>59</text>
-  <line
-   x1='189.720' y1='3939.960' x2='239.640' y2='3864.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='3776.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k58&quot;, &quot;_self&quot;)'>58</text>
-  <line
-   x1='189.720' y1='3939.960' x2='239.640' y2='3789.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='3926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k23&quot;, &quot;_self&quot;)'>23</text>
-  <line
-   x1='139.800' y1='3939.960' x2='189.720' y2='3939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='3926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k10&quot;, &quot;_self&quot;)'>10</text>
-  <line
-   x1='89.880' y1='6227.460' x2='139.800' y2='3939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='3701.040'
-   style='font-weight: bold; text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k22&quot;, &quot;_self&quot;)'>22</text>
-  <line
-   x1='139.800' y1='3714.960' x2='189.720' y2='3714.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='3701.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k9&quot;, &quot;_self&quot;)'>9</text>
-  <line
-   x1='89.880' y1='6227.460' x2='139.800' y2='3714.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='3626.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k57&quot;, &quot;_self&quot;)'>57</text>
-  <line
-   x1='189.720' y1='3527.460' x2='239.640' y2='3639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='3551.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k56&quot;, &quot;_self&quot;)'>56</text>
-  <line
-   x1='189.720' y1='3527.460' x2='239.640' y2='3564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='3476.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k106&quot;, &quot;_self&quot;)'>106</text>
-  <line
-   x1='239.640' y1='3489.960' x2='289.560' y2='3489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='3476.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k55&quot;, &quot;_self&quot;)'>55</text>
-  <line
-   x1='189.720' y1='3527.460' x2='239.640' y2='3489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='3401.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k105&quot;, &quot;_self&quot;)'>105</text>
-  <line
-   x1='239.640' y1='3414.960' x2='289.560' y2='3414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='3401.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k54&quot;, &quot;_self&quot;)'>54</text>
-  <line
-   x1='189.720' y1='3527.460' x2='239.640' y2='3414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='3513.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k21&quot;, &quot;_self&quot;)'>21</text>
-  <line
-   x1='139.800' y1='3527.460' x2='189.720' y2='3527.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='3513.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k8&quot;, &quot;_self&quot;)'>8</text>
-  <line
-   x1='89.880' y1='6227.460' x2='139.800' y2='3527.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='6213.540' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k2&quot;, &quot;_self&quot;)'>2</text>
-  <line
-   x1='39.960' y1='4539.960' x2='89.880' y2='6227.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='3326.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k148&quot;, &quot;_self&quot;)'>148</text>
-  <line
-   x1='289.560' y1='3339.960' x2='339.480' y2='3339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='3326.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k104&quot;, &quot;_self&quot;)'>104</text>
-  <line
-   x1='239.640' y1='3077.460' x2='289.560' y2='3339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='3251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k147&quot;, &quot;_self&quot;)'>147</text>
-  <line
-   x1='289.560' y1='3264.960' x2='339.480' y2='3264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='3251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k103&quot;, &quot;_self&quot;)'>103</text>
-  <line
-   x1='239.640' y1='3077.460' x2='289.560' y2='3264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='3176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k200&quot;, &quot;_self&quot;)'>200</text>
-  <line
-   x1='339.480' y1='3189.960' x2='389.400' y2='3189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='3176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k146&quot;, &quot;_self&quot;)'>146</text>
-  <line
-   x1='289.560' y1='3114.960' x2='339.480' y2='3189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='3101.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k199&quot;, &quot;_self&quot;)'>199</text>
-  <line
-   x1='339.480' y1='3114.960' x2='389.400' y2='3114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='3101.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k145&quot;, &quot;_self&quot;)'>145</text>
-  <line
-   x1='289.560' y1='3114.960' x2='339.480' y2='3114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='3026.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k144&quot;, &quot;_self&quot;)'>144</text>
-  <line
-   x1='289.560' y1='3114.960' x2='339.480' y2='3039.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='3101.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k102&quot;, &quot;_self&quot;)'>102</text>
-  <line
-   x1='239.640' y1='3077.460' x2='289.560' y2='3114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2951.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k143&quot;, &quot;_self&quot;)'>143</text>
-  <line
-   x1='289.560' y1='2964.960' x2='339.480' y2='2964.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='2951.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k101&quot;, &quot;_self&quot;)'>101</text>
-  <line
-   x1='239.640' y1='3077.460' x2='289.560' y2='2964.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2876.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k142&quot;, &quot;_self&quot;)'>142</text>
-  <line
-   x1='289.560' y1='2889.960' x2='339.480' y2='2889.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='2876.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k100&quot;, &quot;_self&quot;)'>100</text>
-  <line
-   x1='239.640' y1='3077.460' x2='289.560' y2='2889.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2801.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k141&quot;, &quot;_self&quot;)'>141</text>
-  <line
-   x1='289.560' y1='2814.960' x2='339.480' y2='2814.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='2801.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k99&quot;, &quot;_self&quot;)'>99</text>
-  <line
-   x1='239.640' y1='3077.460' x2='289.560' y2='2814.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='3063.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k53&quot;, &quot;_self&quot;)'>53</text>
-  <line
-   x1='189.720' y1='3039.960' x2='239.640' y2='3077.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='2726.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k52&quot;, &quot;_self&quot;)'>52</text>
-  <line
-   x1='189.720' y1='3039.960' x2='239.640' y2='2739.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='3026.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k20&quot;, &quot;_self&quot;)'>20</text>
-  <line
-   x1='139.800' y1='2364.960' x2='189.720' y2='3039.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2651.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k140&quot;, &quot;_self&quot;)'>140</text>
-  <line
-   x1='289.560' y1='2664.960' x2='339.480' y2='2664.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='2651.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k98&quot;, &quot;_self&quot;)'>98</text>
-  <line
-   x1='239.640' y1='2402.460' x2='289.560' y2='2664.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2576.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k198&quot;, &quot;_self&quot;)'>198</text>
-  <line
-   x1='339.480' y1='2589.960' x2='389.400' y2='2589.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2576.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k139&quot;, &quot;_self&quot;)'>139</text>
-  <line
-   x1='289.560' y1='2514.960' x2='339.480' y2='2589.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2501.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k197&quot;, &quot;_self&quot;)'>197</text>
-  <line
-   x1='339.480' y1='2514.960' x2='389.400' y2='2514.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2501.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k138&quot;, &quot;_self&quot;)'>138</text>
-  <line
-   x1='289.560' y1='2514.960' x2='339.480' y2='2514.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2426.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k137&quot;, &quot;_self&quot;)'>137</text>
-  <line
-   x1='289.560' y1='2514.960' x2='339.480' y2='2439.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='2501.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k97&quot;, &quot;_self&quot;)'>97</text>
-  <line
-   x1='239.640' y1='2402.460' x2='289.560' y2='2514.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2351.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k136&quot;, &quot;_self&quot;)'>136</text>
-  <line
-   x1='289.560' y1='2364.960' x2='339.480' y2='2364.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='2351.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k96&quot;, &quot;_self&quot;)'>96</text>
-  <line
-   x1='239.640' y1='2402.460' x2='289.560' y2='2364.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2276.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k135&quot;, &quot;_self&quot;)'>135</text>
-  <line
-   x1='289.560' y1='2289.960' x2='339.480' y2='2289.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='2276.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k95&quot;, &quot;_self&quot;)'>95</text>
-  <line
-   x1='239.640' y1='2402.460' x2='289.560' y2='2289.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2201.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k134&quot;, &quot;_self&quot;)'>134</text>
-  <line
-   x1='289.560' y1='2214.960' x2='339.480' y2='2214.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='2201.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k94&quot;, &quot;_self&quot;)'>94</text>
-  <line
-   x1='239.640' y1='2402.460' x2='289.560' y2='2214.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2126.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k133&quot;, &quot;_self&quot;)'>133</text>
-  <line
-   x1='289.560' y1='2139.960' x2='339.480' y2='2139.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='2126.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k93&quot;, &quot;_self&quot;)'>93</text>
-  <line
-   x1='239.640' y1='2402.460' x2='289.560' y2='2139.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='2388.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k51&quot;, &quot;_self&quot;)'>51</text>
-  <line
-   x1='189.720' y1='2364.960' x2='239.640' y2='2402.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='2051.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k50&quot;, &quot;_self&quot;)'>50</text>
-  <line
-   x1='189.720' y1='2364.960' x2='239.640' y2='2064.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='2351.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k19&quot;, &quot;_self&quot;)'>19</text>
-  <line
-   x1='139.800' y1='2364.960' x2='189.720' y2='2364.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1976.040'
-   style='font-style: italic; text-anchor: middle; fill: green;'
-   onclick='window.open(&quot;#k114&quot;, &quot;_self&quot;)'>114</text>
-  <line
-   x1='339.480' y1='1989.960' x2='389.400' y2='1989.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='1976.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k132&quot;, &quot;_self&quot;)'>132</text>
-  <line
-   x1='289.560' y1='1989.960' x2='339.480' y2='1989.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='1976.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k92&quot;, &quot;_self&quot;)'>92</text>
-  <line
-   x1='239.640' y1='1989.960' x2='289.560' y2='1989.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1976.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k49&quot;, &quot;_self&quot;)'>49</text>
-  <line
-   x1='189.720' y1='1989.960' x2='239.640' y2='1989.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='1976.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k18&quot;, &quot;_self&quot;)'>18</text>
-  <line
-   x1='139.800' y1='2364.960' x2='189.720' y2='1989.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='1901.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k131&quot;, &quot;_self&quot;)'>131</text>
-  <line
-   x1='289.560' y1='1914.960' x2='339.480' y2='1914.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='1901.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k91&quot;, &quot;_self&quot;)'>91</text>
-  <line
-   x1='239.640' y1='1689.960' x2='289.560' y2='1914.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='1826.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k130&quot;, &quot;_self&quot;)'>130</text>
-  <line
-   x1='289.560' y1='1764.960' x2='339.480' y2='1839.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1751.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k196&quot;, &quot;_self&quot;)'>196</text>
-  <line
-   x1='339.480' y1='1764.960' x2='389.400' y2='1764.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='1751.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k129&quot;, &quot;_self&quot;)'>129</text>
-  <line
-   x1='289.560' y1='1764.960' x2='339.480' y2='1764.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1676.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k195&quot;, &quot;_self&quot;)'>195</text>
-  <line
-   x1='339.480' y1='1689.960' x2='389.400' y2='1689.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='1676.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k128&quot;, &quot;_self&quot;)'>128</text>
-  <line
-   x1='289.560' y1='1764.960' x2='339.480' y2='1689.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='1751.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k90&quot;, &quot;_self&quot;)'>90</text>
-  <line
-   x1='239.640' y1='1689.960' x2='289.560' y2='1764.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;#k127&quot;, &quot;_self&quot;)'>127</text>
-  <line
-   x1='289.560' y1='1614.960' x2='339.480' y2='1614.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='1601.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k89&quot;, &quot;_self&quot;)'>89</text>
-  <line
-   x1='239.640' y1='1689.960' x2='289.560' y2='1614.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;#k126&quot;, &quot;_self&quot;)'>126</text>
-  <line
-   x1='289.560' y1='1539.960' x2='339.480' y2='1539.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='1526.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k88&quot;, &quot;_self&quot;)'>88</text>
-  <line
-   x1='239.640' y1='1689.960' x2='289.560' y2='1539.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='1451.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k125&quot;, &quot;_self&quot;)'>125</text>
-  <line
-   x1='289.560' y1='1464.960' x2='339.480' y2='1464.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='1451.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k87&quot;, &quot;_self&quot;)'>87</text>
-  <line
-   x1='239.640' y1='1689.960' x2='289.560' y2='1464.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1676.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k48&quot;, &quot;_self&quot;)'>48</text>
-  <line
-   x1='189.720' y1='1652.460' x2='239.640' y2='1689.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1376.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k47&quot;, &quot;_self&quot;)'>47</text>
-  <line
-   x1='189.720' y1='1652.460' x2='239.640' y2='1389.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='1638.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k17&quot;, &quot;_self&quot;)'>17</text>
-  <line
-   x1='139.800' y1='2364.960' x2='189.720' y2='1652.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='2351.040' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k7&quot;, &quot;_self&quot;)'>7</text>
-  <line
-   x1='89.880' y1='1689.960' x2='139.800' y2='2364.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1301.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k46&quot;, &quot;_self&quot;)'>46</text>
-  <line
-   x1='189.720' y1='1127.460' x2='239.640' y2='1314.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1226.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k45&quot;, &quot;_self&quot;)'>45</text>
-  <line
-   x1='189.720' y1='1127.460' x2='239.640' y2='1239.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1151.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k44&quot;, &quot;_self&quot;)'>44</text>
-  <line
-   x1='189.720' y1='1127.460' x2='239.640' y2='1164.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1076.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k43&quot;, &quot;_self&quot;)'>43</text>
-  <line
-   x1='189.720' y1='1127.460' x2='239.640' y2='1089.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1001.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k42&quot;, &quot;_self&quot;)'>42</text>
-  <line
-   x1='189.720' y1='1127.460' x2='239.640' y2='1014.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k41&quot;, &quot;_self&quot;)'>41</text>
-  <line
-   x1='189.720' y1='1127.460' x2='239.640' y2='939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='1113.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k16&quot;, &quot;_self&quot;)'>16</text>
-  <line
-   x1='139.800' y1='1127.460' x2='189.720' y2='1127.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='1113.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k6&quot;, &quot;_self&quot;)'>6</text>
-  <line
-   x1='89.880' y1='1689.960' x2='139.800' y2='1127.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='851.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k40&quot;, &quot;_self&quot;)'>40</text>
-  <line
-   x1='189.720' y1='677.460' x2='239.640' y2='864.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='776.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k39&quot;, &quot;_self&quot;)'>39</text>
-  <line
-   x1='189.720' y1='677.460' x2='239.640' y2='789.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='701.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k38&quot;, &quot;_self&quot;)'>38</text>
-  <line
-   x1='189.720' y1='677.460' x2='239.640' y2='714.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='626.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k37&quot;, &quot;_self&quot;)'>37</text>
-  <line
-   x1='189.720' y1='677.460' x2='239.640' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='551.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k36&quot;, &quot;_self&quot;)'>36</text>
-  <line
-   x1='189.720' y1='677.460' x2='239.640' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='476.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k35&quot;, &quot;_self&quot;)'>35</text>
-  <line
-   x1='189.720' y1='677.460' x2='239.640' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='663.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k15&quot;, &quot;_self&quot;)'>15</text>
-  <line
-   x1='139.800' y1='677.460' x2='189.720' y2='677.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='663.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k5&quot;, &quot;_self&quot;)'>5</text>
-  <line
-   x1='89.880' y1='1689.960' x2='139.800' y2='677.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='401.040'
-   style='font-weight: bold; text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k34&quot;, &quot;_self&quot;)'>34</text>
-  <line
-   x1='189.720' y1='414.960' x2='239.640' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='401.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k14&quot;, &quot;_self&quot;)'>14</text>
-  <line
-   x1='139.800' y1='414.960' x2='189.720' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='401.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k4&quot;, &quot;_self&quot;)'>4</text>
-  <line
-   x1='89.880' y1='1689.960' x2='139.800' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='326.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k33&quot;, &quot;_self&quot;)'>33</text>
-  <line
-   x1='189.720' y1='189.960' x2='239.640' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k86&quot;, &quot;_self&quot;)'>86</text>
-  <line
-   x1='239.640' y1='264.960' x2='289.560' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k32&quot;, &quot;_self&quot;)'>32</text>
-  <line
-   x1='189.720' y1='189.960' x2='239.640' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k31&quot;, &quot;_self&quot;)'>31</text>
-  <line
-   x1='189.720' y1='189.960' x2='239.640' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='101.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k30&quot;, &quot;_self&quot;)'>30</text>
-  <line
-   x1='189.720' y1='189.960' x2='239.640' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='26.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k29&quot;, &quot;_self&quot;)'>29</text>
-  <line
-   x1='189.720' y1='189.960' x2='239.640' y2='39.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k13&quot;, &quot;_self&quot;)'>13</text>
-  <line
-   x1='139.800' y1='189.960' x2='189.720' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k3&quot;, &quot;_self&quot;)'>3</text>
-  <line
-   x1='89.880' y1='1689.960' x2='139.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='1676.040' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k1&quot;, &quot;_self&quot;)'>1</text>
-  <line
-   x1='39.960' y1='4539.960' x2='89.880' y2='1689.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='39.960' y='4526.040' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k0&quot;, &quot;_self&quot;)'>0</text>
-  </svg></div>
-
-<pre>(defprotocol plaindh diffie-hellman
-  (defrole init
-    (vars (x expn) (h base) (n text))
-    (trace (send (exp (gen) x)) (recv h) (send (enc n (exp h x)))
-      (recv n))
-    (uniq-orig n)
-    (uniq-gen x))
-  (defrole resp
-    (vars (y expn) (h base) (n text))
-    (trace (recv h) (send (exp (gen) y)) (recv (enc n (exp h y)))
-      (send n))
-    (uniq-gen y)
-    (absent (y h)))
-  (comment &quot;Diffie-hellman key exchange followed by an encryption&quot;))</pre>
-
-<p id="k0">Item <a href="#t0">0</a>, Children: <a href="#k1">1</a> <a href="#k2">2</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>n</title>
-   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp h x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h h) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='39.960' y='39.960' style='text-anchor: middle;'>plaindh 0</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn))
-  (defstrand init 4 (n n) (h h) (x x))
-  (uniq-gen x)
-  (uniq-orig n)
-  (label 0)
-  (unrealized (0 3))
-  (origs (n (0 2)))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k1">Item <a href="#t0">1</a>, Parent: <a href="#k0">0</a>, Children: <a href="#k3">3</a> <a href="#k4">4</a> <a href="#k5">5</a> <a href="#k6">6</a> <a href="#k7">7</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='339.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 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>n</title><circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp h (mul x y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp h x)</title>
-   <circle style='fill: red;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 264.960 Q 86.940 264.960 133.920 264.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp h (mul x y)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp h y)</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp h x)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp h y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960' style='text-anchor: middle;'>plaindh 1</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp h y)) (x x))
-  (defstrand resp 4 (n n) (h (exp h x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))
-  (absent (y (exp h x)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 4) n (0 3)
-    (enc n (exp h (mul x y))))
-  (label 1)
-  (parent 0)
-  (unrealized (0 1) (1 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k2">Item <a href="#t0">2</a>, Parent: <a href="#k0">0</a>, Children: <a href="#k8">8</a> <a href="#k9">9</a> <a href="#k10">10</a> <a href="#k11">11</a> <a href="#k12">12</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;'/>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp h x)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp h x)</title>
-   <circle style='fill: red;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp h x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h h) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960' style='text-anchor: middle;'>plaindh 2</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn))
-  (defstrand init 4 (n n) (h h) (x x))
-  (deflistener (exp h x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener (exp h x)) n (0 3)
-    (enc n (exp h x)))
-  (label 2)
-  (parent 0)
-  (unrealized (1 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k3">Item <a href="#t0">3</a>, Parent: <a href="#k1">1</a>, Child: <a href="#k13">13</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='339.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 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>n</title><circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 264.960 Q 86.940 264.960 133.920 264.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (gen)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960' style='text-anchor: middle;'>plaindh 3</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))
-  (absent (y (gen)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen)
-    (1 0))
-  (label 3)
-  (parent 1)
-  (unrealized (0 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k4">Item <a href="#t0">4</a>, Parent: <a href="#k1">1</a>, Child: <a href="#k14">14</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='339.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 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>n</title><circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 264.960 Q 86.940 264.960 133.920 264.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) x)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>plaindh 4 (realized)</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))
-  (absent (y (exp (gen) x)))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
-  (label 4)
-  (parent 1)
-  (unrealized)
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k5">Item <a href="#t0">5</a>, Parent: <a href="#k1">1</a>, Child: <a href="#k15">15</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='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle 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>n</title><circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 264.960 Q 86.940 264.960 133.920 264.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 5</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 0) (1 0)))
-  (absent (y (exp (gen) x-0)))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
-  (label 5)
-  (parent 1)
-  (unrealized (0 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k6">Item <a href="#t0">6</a>, Parent: <a href="#k1">1</a>, Child: <a href="#k16">16</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='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 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>(exp (gen) y-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y y-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 6</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
-  (label 6)
-  (parent 1)
-  (unrealized (0 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k7">Item <a href="#t0">7</a>, Parent: <a href="#k1">1</a>, Children: <a href="#k17">17</a> <a href="#k18">18</a> <a href="#k19">19</a> <a href="#k20">20</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='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 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>(cat (exp h (mul x (rec w))) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp h (mul x (rec w))) w)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp h (mul x y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp h x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp h (mul x y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp h y)</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp h x)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp h y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 7</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr))
-  (defstrand init 4 (n n) (h (exp h y)) (x x))
-  (defstrand resp 4 (n n) (h (exp h x)) (y y))
-  (deflistener (cat (exp h (mul x (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)))
-  (absent (y (exp h x)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w))
-    (exp h x) (1 0))
-  (label 7)
-  (parent 1)
-  (unrealized (0 1) (2 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k8">Item <a href="#t0">8</a>, Parent: <a href="#k2">2</a>, Child: <a href="#k21">21</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;'/>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='189.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960' style='text-anchor: middle;'>plaindh 8</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen)
-    (1 0))
-  (label 8)
-  (parent 2)
-  (unrealized (0 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k9">Item <a href="#t0">9</a>, Parent: <a href="#k2">2</a>, Child: <a href="#k22">22</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;'/>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (gen)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>plaindh 9 (realized)</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
-  (label 9)
-  (parent 2)
-  (unrealized)
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k10">Item <a href="#t0">10</a>, Parent: <a href="#k2">2</a>, Child: <a href="#k23">23</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='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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;'/>
-  <path
-   d='M 239.880 114.960 Q 142.729 113.906 45.578 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 10</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)) ((2 0) (0 1)) ((2 0) (1 0)))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
-  (label 10)
-  (parent 2)
-  (unrealized (0 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k11">Item <a href="#t0">11</a>, Parent: <a href="#k2">2</a>, Child: <a href="#k24">24</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='189.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 189.960 Q 142.920 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <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>(exp (gen) y)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 87.540 150.660 135.121 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 11</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)) ((2 1) (0 1)) ((2 1) (1 0)))
-  (absent (y h))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (1 0))
-  (label 11)
-  (parent 2)
-  (unrealized (0 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k12">Item <a href="#t0">12</a>, Parent: <a href="#k2">2</a>, Children: <a href="#k25">25</a> <a href="#k26">26</a> <a href="#k27">27</a> <a href="#k28">28</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='189.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 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>(cat (exp h (mul x (rec w))) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp h (mul x (rec w))) w)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp h x)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp h x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp h x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h h) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 12</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr))
-  (defstrand init 4 (n n) (h h) (x x))
-  (deflistener (exp h x))
-  (deflistener (cat (exp h (mul x (rec w))) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w))
-    (exp h x) (1 0))
-  (label 12)
-  (parent 2)
-  (unrealized (2 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k13">Item <a href="#t0">13</a>, Parent: <a href="#k3">3</a>, Children: <a href="#k29">29</a> <a href="#k30">30</a> <a href="#k31">31</a> <a href="#k32">32</a> <a href="#k33">33</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 264.960 Q 142.920 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul (rec x) y (rec w))) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul (rec x) y (rec w))) w)</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 186.900 189.960 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (gen)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 13</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)))
-  (absent (y (gen)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-    (exp (gen) (mul (rec x) y)) (0 1))
-  (label 13)
-  (parent 3)
-  (unrealized (2 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k14">Item <a href="#t0">14</a>, Parent: <a href="#k4">4</a>, Child: <a href="#k34">34</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>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='39.960' y='39.960'
-   style='text-anchor: middle;'>plaindh 14 (realized)</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (absent (y (exp (gen) x)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 0))
-  (label 14)
-  (parent 4)
-  (unrealized)
-  (origs (n (0 2)))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k15">Item <a href="#t0">15</a>, Parent: <a href="#k5">5</a>, Children: <a href="#k35">35</a> <a href="#k36">36</a> <a href="#k37">37</a> <a href="#k38">38</a> <a href="#k39">39</a> <a href="#k40">40</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='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul (rec x) y x-0 (rec w))) w)</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul (rec x) y x-0 (rec w))) w)</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 236.880 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 15</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y x-0 expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))
-    (exp (gen) (mul (rec x) y x-0)) (0 1))
-  (label 15)
-  (parent 5)
-  (unrealized (3 0))
-  (comment &quot;6 in cohort - 6 not yet seen&quot;))</pre>
-
-<p id="k16">Item <a href="#t0">16</a>, Parent: <a href="#k6">6</a>, Children: <a href="#k41">41</a> <a href="#k42">42</a> <a href="#k43">43</a> <a href="#k44">44</a> <a href="#k45">45</a> <a href="#k46">46</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul (rec x) y y-0 (rec w))) w)</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul (rec x) y y-0 (rec w))) w)</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>(exp (gen) y-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y y-0))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 16</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))
-    (exp (gen) (mul (rec x) y y-0)) (0 1))
-  (label 16)
-  (parent 6)
-  (unrealized (3 0))
-  (comment &quot;6 in cohort - 6 not yet seen&quot;))</pre>
-
-<p id="k17">Item <a href="#t0">17</a>, Parent: <a href="#k7">7</a>, Children: <a href="#k47">47</a> <a href="#k48">48</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='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 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>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y w)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y w)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y w))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) w)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y w))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 17</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w))))
-    (gen) (2 0))
-  (label 17)
-  (parent 7)
-  (unrealized (0 1))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k18">Item <a href="#t0">18</a>, Parent: <a href="#k7">7</a>, Child: <a href="#k49">49</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='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 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>(cat (exp (gen) x) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y w x)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y w x)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y w))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul w x))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y w))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>plaindh 18 (realized)</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y w))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (label 18)
-  (parent 7)
-  (unrealized)
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k19">Item <a href="#t0">19</a>, Parent: <a href="#k7">7</a>, Children: <a href="#k50">50</a> <a href="#k51">51</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='114.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='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 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y w x-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y w x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y w x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y w x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 19</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (label 19)
-  (parent 7)
-  (unrealized (0 1))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k20">Item <a href="#t0">20</a>, Parent: <a href="#k7">7</a>, Children: <a href="#k52">52</a> <a href="#k53">53</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='489.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y-0) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y w y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.940 339.960 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y w y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y w y-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y w y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 20</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y-0 h) (y (exp (gen) (mul w y-0))))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
-  (label 20)
-  (parent 7)
-  (unrealized (0 1))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k21">Item <a href="#t0">21</a>, Parent: <a href="#k8">8</a>, Children: <a href="#k54">54</a> <a href="#k55">55</a> <a href="#k56">56</a> <a href="#k57">57</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='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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;'/>
-  <path
-   d='M 239.880 189.960 Q 142.920 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul (rec x) (rec w))) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul (rec x) (rec w))) w)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='189.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 21</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) (mul (rec x) (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) (rec w))) w))
-    (exp (gen) (rec x)) (0 1))
-  (label 21)
-  (parent 8)
-  (unrealized (2 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k22">Item <a href="#t0">22</a>, Parent: <a href="#k9">9</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>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (gen)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='39.960' y='39.960'
-   style='text-anchor: middle;'>plaindh 22 (realized)</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (gen)) (x x))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 0))
-  (label 22)
-  (parent 9)
-  (unrealized)
-  (shape)
-  (maps ((0) ((x x) (h (gen)) (n n))))
-  (origs (n (0 2))))</pre>
-
-<p id="k23">Item <a href="#t0">23</a>, Parent: <a href="#k10">10</a>, Children: <a href="#k58">58</a> <a href="#k59">59</a> <a href="#k60">60</a> <a href="#k61">61</a> <a href="#k62">62</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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;'/>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul (rec x) x-0 (rec w))) w)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul (rec x) x-0 (rec w))) w)</title>
-   <circle style='fill: red;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 239.880 114.960 Q 286.860 114.960 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 23</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) x-0 (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) x-0 (rec w))) w))
-    (exp (gen) (mul (rec x) x-0)) (0 1))
-  (label 23)
-  (parent 10)
-  (unrealized (3 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k24">Item <a href="#t0">24</a>, Parent: <a href="#k11">11</a>, Children: <a href="#k63">63</a> <a href="#k64">64</a> <a href="#k65">65</a> <a href="#k66">66</a> <a href="#k67">67</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='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='264.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 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul (rec x) y (rec w))) w)</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul (rec x) y (rec w))) w)</title>
-   <circle style='fill: red;' 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;'/>
-  <path
-   d='M 239.880 189.960 Q 286.860 189.960 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 24</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)))
-  (absent (y h))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-    (exp (gen) (mul (rec x) y)) (0 1))
-  (label 24)
-  (parent 11)
-  (unrealized (3 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k25">Item <a href="#t0">25</a>, Parent: <a href="#k12">12</a>, Children: <a href="#k68">68</a> <a href="#k69">69</a> <a href="#k70">70</a> <a href="#k71">71</a> <a href="#k72">72</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='189.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 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>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) w))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) w))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 25</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w))))
-    (gen) (2 0))
-  (label 25)
-  (parent 12)
-  (unrealized (0 1))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k26">Item <a href="#t0">26</a>, Parent: <a href="#k12">12</a>, Child: <a href="#k73">73</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='189.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 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>(cat (exp (gen) x) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>plaindh 26 (realized)</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)))
-  (precur (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (label 26)
-  (parent 12)
-  (unrealized)
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k27">Item <a href="#t0">27</a>, Parent: <a href="#k12">12</a>, Children: <a href="#k74">74</a> <a href="#k75">75</a> <a href="#k76">76</a> <a href="#k77">77</a> <a href="#k78">78</a> <a href="#k79">79</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='114.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='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 339.840 114.960 Q 192.810 114.232 45.781 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) w x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) w x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 27</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w x-0))) (x x))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (label 27)
-  (parent 12)
-  (unrealized (0 1))
-  (comment &quot;6 in cohort - 6 not yet seen&quot;))</pre>
-
-<p id="k28">Item <a href="#t0">28</a>, Parent: <a href="#k12">12</a>, Children: <a href="#k80">80</a> <a href="#k81">81</a> <a href="#k82">82</a> <a href="#k83">83</a> <a href="#k84">84</a> <a href="#k85">85</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) w y))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 28</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0))
-  (label 28)
-  (parent 12)
-  (unrealized (0 1))
-  (comment &quot;6 in cohort - 6 not yet seen&quot;))</pre>
-
-<p id="k29">Item <a href="#t0">29</a>, Parent: <a href="#k13">13</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 264.960 Q 142.920 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul (rec x) y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 186.900 189.960 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (gen)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 29</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)))
-  (absent (y (gen)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul (rec x) y)))
-    (gen) (2 0))
-  (label 29)
-  (parent 13)
-  (unrealized (0 1) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k30">Item <a href="#t0">30</a>, Parent: <a href="#k13">13</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 264.960 Q 142.920 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul y (rec x) (rec x)))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul y (rec x) (rec x)))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 186.900 189.960 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (gen)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 30</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)))
-  (absent (y (gen)))
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (label 30)
-  (parent 13)
-  (unrealized (0 1) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k31">Item <a href="#t0">31</a>, Parent: <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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 264.960 Q 142.920 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 186.900 189.960 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (gen)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 31</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)) ((3 0) (2 0)))
-  (absent (y (gen)))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (label 31)
-  (parent 13)
-  (unrealized (0 1) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k32">Item <a href="#t0">32</a>, Parent: <a href="#k13">13</a>, Child: <a href="#k86">86</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 264.960 Q 142.920 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 186.900 189.960 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (gen)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 32</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)))
-  (absent (y (gen)))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (2 0))
-  (label 32)
-  (parent 13)
-  (unrealized (0 1) (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k33">Item <a href="#t0">33</a>, Parent: <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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 264.960 Q 142.920 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 186.900 189.960 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (gen)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 33</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)) ((3 1) (2 0)))
-  (absent (y-0 h) (y (gen)))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
-  (label 33)
-  (parent 13)
-  (unrealized (0 1) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k34">Item <a href="#t0">34</a>, Parent: <a href="#k14">14</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>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='39.960' y='39.960'
-   style='text-anchor: middle;'>plaindh 34 (realized)</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization forgot y)
-  (label 34)
-  (parent 14)
-  (unrealized)
-  (shape)
-  (maps ((0) ((x x) (h (exp (gen) y)) (n n))))
-  (origs (n (0 2))))</pre>
-
-<p id="k35">Item <a href="#t0">35</a>, Parent: <a href="#k15">15</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='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul (rec x) y x-0))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul (rec x) y x-0))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 236.880 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 35</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) y x-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (x-2 x-0) (w (mul (rec x) y x-0))) (gen)
-    (3 0))
-  (label 35)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k36">Item <a href="#t0">36</a>, Parent: <a href="#k15">15</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='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0)))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 236.880 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y x)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x (rec x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y x (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 36</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (defstrand resp 4 (n n) (h (exp (gen) x)) (y y))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (3 0))
-  (label 36)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k37">Item <a href="#t0">37</a>, Parent: <a href="#k15">15</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='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) y))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 236.880 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 37</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 init 1) (exp (gen) x-1) (3 0))
-  (label 37)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k38">Item <a href="#t0">38</a>, Parent: <a href="#k15">15</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='114.960' x2='439.800' y2='114.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='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 439.800 114.960 Q 392.220 150.660 344.639 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1)))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 236.880 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 38</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)) ((4 0) (3 0)))
-  (absent (y (exp (gen) x-0)))
-  (precur (3 0))
-  (uniq-gen x y x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
-  (label 38)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k39">Item <a href="#t0">39</a>, Parent: <a href="#k15">15</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='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul (rec x) x-0))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x-0 y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 236.880 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x-0 y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) x-0 y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) x-0 y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 39</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (label 39)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k40">Item <a href="#t0">40</a>, Parent: <a href="#k15">15</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='114.960' x2='439.800' y2='189.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='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0)))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 236.880 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 40</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y x-0 y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-0 h) (y (exp (gen) x-0)))
-  (precur (3 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (label 40)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k41">Item <a href="#t0">41</a>, Parent: <a href="#k16">16</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul (rec x) y y-0))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul (rec x) y y-0))</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>(exp (gen) y-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y y-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 41</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul (rec x) y y-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (y-2 y-0) (w (mul (rec x) y y-0))) (gen)
-    (3 0))
-  (label 41)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k42">Item <a href="#t0">42</a>, Parent: <a href="#k16">16</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul y y-0 (rec x) (rec x)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul y y-0 (rec x) (rec x)))</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>(exp (gen) y-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y y-0 (rec x)))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y y-0 (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 42</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y y-0 x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y y-0 (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul y y-0 (rec x) (rec x))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (precur (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (label 42)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k43">Item <a href="#t0">43</a>, Parent: <a href="#k16">16</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='114.960' x2='439.800' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 114.960 Q 391.484 187.464 343.167 259.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0)))</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>(exp (gen) y-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y y-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 43</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 0) (3 0)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (precur (3 0))
-  (uniq-gen x y y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (label 43)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k44">Item <a href="#t0">44</a>, Parent: <a href="#k16">16</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y))</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>(exp (gen) y)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y y-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y)) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 44</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y)) (y y-0))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y-0 (exp (gen) y)) (y h))
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-1) (3 0))
-  (label 44)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k45">Item <a href="#t0">45</a>, Parent: <a href="#k16">16</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y))</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>(exp (gen) y-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y y-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 45</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 resp 2) (exp (gen) y-1) (3 0))
-  (label 45)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k46">Item <a href="#t0">46</a>, Parent: <a href="#k16">16</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='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 189.960 Q 392.220 225.660 344.639 261.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-1)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1)))</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>(exp (gen) y-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y y-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 46</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y y-0 y-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) y-0)))
-  (precur (3 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (3 0))
-  (label 46)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k47">Item <a href="#t0">47</a>, Parent: <a href="#k17">17</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='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 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>(cat (gen) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) x)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 47</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x)) (y y))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)))
-  (absent (y (exp (gen) x)))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (0 1))
-  (label 47)
-  (parent 17)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k48">Item <a href="#t0">48</a>, Parent: <a href="#k17">17</a>, Children: <a href="#k87">87</a> <a href="#k88">88</a> <a href="#k89">89</a> <a href="#k90">90</a> <a href="#k91">91</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='489.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 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0)</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0)</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y w)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y w)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y w))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) w)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y w))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 48</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y expn) (w w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w)) (0 1))
-  (label 48)
-  (parent 17)
-  (unrealized (3 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k49">Item <a href="#t0">49</a>, Parent: <a href="#k18">18</a>, Child: <a href="#k92">92</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;'/>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y w x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y w))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul y w))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>plaindh 49 (realized)</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y w))) (x x))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (absent (y (exp (gen) (mul w x))))
-  (precur (1 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 0))
-  (label 49)
-  (parent 18)
-  (unrealized)
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k50">Item <a href="#t0">50</a>, Parent: <a href="#k19">19</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='114.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='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 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0)))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0)))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 50</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)))
-  (absent (y (exp (gen) x)))
-  (precur (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (0 1))
-  (label 50)
-  (parent 19)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k51">Item <a href="#t0">51</a>, Parent: <a href="#k19">19</a>, Children: <a href="#k93">93</a> <a href="#k94">94</a> <a href="#k95">95</a> <a href="#k96">96</a> <a href="#k97">97</a> <a href="#k98">98</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='489.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 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0)</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0)</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y w x-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y w x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y w x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y w x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 51</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y expn) (w expr) (x-0 expn) (w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w x-0)) (0 1))
-  (label 51)
-  (parent 19)
-  (unrealized (4 0))
-  (comment &quot;6 in cohort - 6 not yet seen&quot;))</pre>
-
-<p id="k52">Item <a href="#t0">52</a>, Parent: <a href="#k20">20</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='489.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y)))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y)))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x)) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 52</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y h))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-1) (0 1))
-  (label 52)
-  (parent 20)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k53">Item <a href="#t0">53</a>, Parent: <a href="#k20">20</a>, Children: <a href="#k99">99</a> <a href="#k100">100</a> <a href="#k101">101</a> <a href="#k102">102</a> <a href="#k103">103</a> <a href="#k104">104</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0)</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0)</title>
-   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y-0) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y w y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y w y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y w y-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y w y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 53</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn) (w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) (mul w y-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w y-0)) (0 1))
-  (label 53)
-  (parent 20)
-  (unrealized (4 0))
-  (comment &quot;6 in cohort - 6 not yet seen&quot;))</pre>
-
-<p id="k54">Item <a href="#t0">54</a>, Parent: <a href="#k21">21</a>, Child: <a href="#k105">105</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='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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;'/>
-  <path
-   d='M 239.880 189.960 Q 142.920 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (rec x))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (rec x))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='189.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 54</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (rec x)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (gen) (2 0))
-  (label 54)
-  (parent 21)
-  (unrealized (0 1) (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k55">Item <a href="#t0">55</a>, Parent: <a href="#k21">21</a>, Child: <a href="#k106">106</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='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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;'/>
-  <path
-   d='M 239.880 189.960 Q 142.920 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul (rec x) (rec x)))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) (rec x)))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='189.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 55</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (0 1)))
-  (precur (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (label 55)
-  (parent 21)
-  (unrealized (0 1) (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k56">Item <a href="#t0">56</a>, Parent: <a href="#k21">21</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='114.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='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;'/>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 189.960 Q 142.920 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) (rec x-0)))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) (rec x-0)))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='189.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 56</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (label 56)
-  (parent 21)
-  (unrealized (0 1) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k57">Item <a href="#t0">57</a>, Parent: <a href="#k21">21</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 264.960 Q 142.920 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul (rec x) (rec y)))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec x) (rec y)))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.158 299.718 42.396 409.477'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='189.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 57</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) y) (mul (rec x) (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0))
-  (label 57)
-  (parent 21)
-  (unrealized (0 1) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k58">Item <a href="#t0">58</a>, Parent: <a href="#k23">23</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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;'/>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul (rec x) x-0))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 239.880 114.960 Q 286.860 114.960 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 58</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) x-0)))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0))) (gen) (3 0))
-  (label 58)
-  (parent 23)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k59">Item <a href="#t0">59</a>, Parent: <a href="#k23">23</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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;'/>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0)))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 239.880 114.960 Q 286.860 114.960 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x (rec x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 59</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) x))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)))
-  (precur (3 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (3 0))
-  (label 59)
-  (parent 23)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k60">Item <a href="#t0">60</a>, Parent: <a href="#k23">23</a>, Child: <a href="#k107">107</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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;'/>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (rec x))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (rec x))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 239.880 114.960 Q 286.860 114.960 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 60</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (rec x)))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)))
-  (precur (3 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 init 1) (exp (gen) x-1) (3 0))
-  (label 60)
-  (parent 23)
-  (unrealized (0 1) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k61">Item <a href="#t0">61</a>, Parent: <a href="#k23">23</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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;'/>
-  <path
-   d='M 439.800 114.960 Q 392.820 114.960 345.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 239.880 114.960 Q 286.860 114.960 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 61</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)) ((4 0) (3 0)))
-  (precur (3 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
-  (label 61)
-  (parent 23)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k62">Item <a href="#t0">62</a>, Parent: <a href="#k23">23</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='114.960' x2='439.800' y2='189.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='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul (rec x) x-0 (rec y)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec x) x-0 (rec y)))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 239.880 114.960 Q 287.460 150.660 335.041 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.158 299.718 42.396 409.477'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.990 114.232 334.019 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 62</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y h))
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (label 62)
-  (parent 23)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k63">Item <a href="#t0">63</a>, Parent: <a href="#k24">24</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='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='264.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 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul (rec x) y))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' 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;'/>
-  <path
-   d='M 239.880 189.960 Q 286.860 189.960 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 63</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)))
-  (absent (y h))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul (rec x) y)))
-    (gen) (3 0))
-  (label 63)
-  (parent 24)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k64">Item <a href="#t0">64</a>, Parent: <a href="#k24">24</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='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='264.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 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul y (rec x) (rec x)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul y (rec x) (rec x)))</title>
-   <circle style='fill: red;' 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;'/>
-  <path
-   d='M 239.880 189.960 Q 286.860 189.960 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 64</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)))
-  (absent (y h))
-  (precur (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (label 64)
-  (parent 24)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k65">Item <a href="#t0">65</a>, Parent: <a href="#k24">24</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='114.960' x2='439.800' y2='114.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='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='264.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 439.800 114.960 Q 392.220 150.660 344.639 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))</title>
-   <circle style='fill: red;' 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;'/>
-  <path
-   d='M 239.880 189.960 Q 286.860 189.960 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 65</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)) ((4 0) (3 0)))
-  (absent (y h))
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (label 65)
-  (parent 24)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k66">Item <a href="#t0">66</a>, Parent: <a href="#k24">24</a>, Child: <a href="#k108">108</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='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='264.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 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle style='fill: red;' 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;'/>
-  <path
-   d='M 239.880 189.960 Q 286.860 189.960 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 66</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)))
-  (absent (y h))
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 resp 2) (exp (gen) y-0) (3 0))
-  (label 66)
-  (parent 24)
-  (unrealized (0 1) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k67">Item <a href="#t0">67</a>, Parent: <a href="#k24">24</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='114.960' x2='439.800' y2='189.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='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='264.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 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))</title>
-   <circle style='fill: red;' 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;'/>
-  <path
-   d='M 239.880 189.960 Q 286.860 189.960 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 67</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-0 h-0) (y h))
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (label 67)
-  (parent 24)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k68">Item <a href="#t0">68</a>, Parent: <a href="#k25">25</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='189.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 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>(cat (gen) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (gen)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 68</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (x-0 x) (w x)) (gen) (0 1))
-  (label 68)
-  (parent 25)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k69">Item <a href="#t0">69</a>, Parent: <a href="#k25">25</a>, Child: <a href="#k109">109</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='189.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 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>(cat (gen) (mul x x))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) x)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960' style='text-anchor: middle;'>plaindh 69</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) x)) (x x))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)))
-  (precur (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (0 1))
-  (label 69)
-  (parent 25)
-  (unrealized (1 0) (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k70">Item <a href="#t0">70</a>, Parent: <a href="#k25">25</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='114.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='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 339.840 114.960 Q 192.810 114.232 45.781 188.504'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 70</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (label 70)
-  (parent 25)
-  (unrealized (1 0) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k71">Item <a href="#t0">71</a>, Parent: <a href="#k25">25</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (gen) (mul x y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x y))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 71</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (0 1))
-  (label 71)
-  (parent 25)
-  (unrealized (1 0) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k72">Item <a href="#t0">72</a>, Parent: <a href="#k25">25</a>, Children: <a href="#k110">110</a> <a href="#k111">111</a> <a href="#k112">112</a> <a href="#k113">113</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.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='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 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul (rec x) w (rec w-0))) w-0)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul (rec x) w (rec w-0))) w-0)</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) w))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) w))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 72</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) (mul (rec x) w (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w)) (0 1))
-  (label 72)
-  (parent 25)
-  (unrealized (3 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k73">Item <a href="#t0">73</a>, Parent: <a href="#k26">26</a>, Child: <a href="#k114">114</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;'/>
-  <path
-   d='M 139.920 189.960 Q 91.604 262.464 43.287 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>plaindh 73 (realized)</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)))
-  (precur (1 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 0))
-  (label 73)
-  (parent 26)
-  (unrealized)
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k74">Item <a href="#t0">74</a>, Parent: <a href="#k27">27</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='114.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='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 339.840 114.960 Q 192.810 114.232 45.781 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0)))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0)))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (gen)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 74</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w (mul x (rec x-0))) (x-2 x-0)) (gen) (0 1))
-  (label 74)
-  (parent 27)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k75">Item <a href="#t0">75</a>, Parent: <a href="#k27">27</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='114.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='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 339.840 114.960 Q 192.810 114.232 45.781 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) x-0 x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) x-0 x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x-0 x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x-0 x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x-0 x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 75</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) x-0)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-0)))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (0 1))
-  (label 75)
-  (parent 27)
-  (unrealized (1 0) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k76">Item <a href="#t0">76</a>, Parent: <a href="#k27">27</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='114.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='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 339.840 114.960 Q 192.810 114.232 45.781 188.504'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 76</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 3 init 1) (exp (gen) x-1) (0 1))
-  (label 76)
-  (parent 27)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k77">Item <a href="#t0">77</a>, Parent: <a href="#k27">27</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 114.960 Q 242.829 114.407 45.857 188.854'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.810 114.232 45.781 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x x-1)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-1)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-1)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 77</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand init 1 (x x-0))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)) ((4 0) (0 1)) ((4 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (0 1))
-  (label 77)
-  (parent 27)
-  (unrealized (1 0) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k78">Item <a href="#t0">78</a>, Parent: <a href="#k27">27</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.810 114.232 45.781 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) y))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 78</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-  (defstrand init 1 (x x-0))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((4 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (0 1))
-  (label 78)
-  (parent 27)
-  (unrealized (1 0) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k79">Item <a href="#t0">79</a>, Parent: <a href="#k27">27</a>, Children: <a href="#k115">115</a> <a href="#k116">116</a> <a href="#k117">117</a> <a href="#k118">118</a> <a href="#k119">119</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0)</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) w x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) w x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 79</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn) (w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w x-0))) (x x))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w x-0)) (0 1))
-  (label 79)
-  (parent 27)
-  (unrealized (4 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k80">Item <a href="#t0">80</a>, Parent: <a href="#k28">28</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y)))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y)))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (gen)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 80</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w (mul x (rec y))) (y-0 y))
-    (gen) (0 1))
-  (label 80)
-  (parent 28)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k81">Item <a href="#t0">81</a>, Parent: <a href="#k28">28</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) x x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) x x))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 81</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) x)) (x x))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (0 1))
-  (label 81)
-  (parent 28)
-  (unrealized (1 0) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k82">Item <a href="#t0">82</a>, Parent: <a href="#k28">28</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 114.960 Q 242.829 114.407 45.857 188.854'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 342.649 113.906 245.498 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 82</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)) ((4 0) (0 1)) ((4 0) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (label 82)
-  (parent 28)
-  (unrealized (1 0) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k83">Item <a href="#t0">83</a>, Parent: <a href="#k28">28</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 83</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 3 resp 2) (exp (gen) y-0) (0 1))
-  (label 83)
-  (parent 28)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k84">Item <a href="#t0">84</a>, Parent: <a href="#k28">28</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) y-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) y-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x y-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 84</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) y-0)) (x x))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((4 1) (2 0)))
-  (absent (y-0 h-0) (y h))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (0 1))
-  (label 84)
-  (parent 28)
-  (unrealized (1 0) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k85">Item <a href="#t0">85</a>, Parent: <a href="#k28">28</a>, Children: <a href="#k120">120</a> <a href="#k121">121</a> <a href="#k122">122</a> <a href="#k123">123</a> <a href="#k124">124</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0)</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0)</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 85</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w y)) (0 1))
-  (label 85)
-  (parent 28)
-  (unrealized (4 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k86">Item <a href="#t0">86</a>, Parent: <a href="#k32">32</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 264.960 Q 142.920 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 186.900 189.960 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 339.960 Q 86.940 339.960 133.920 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (gen)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 86</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 3) (0 3)) ((2 1) (0 1)) ((3 1) (2 0)))
-  (absent (y (gen)))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (2 0))
-  (label 86)
-  (parent 32)
-  (unrealized (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k87">Item <a href="#t0">87</a>, Parent: <a href="#k48">48</a>, Child: <a href="#k125">125</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='489.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 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul x w))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 87</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test
-    (contracted (x-0 x) (y-0 y) (w-0 (mul x w)) (w-1 (mul w y)) (y-1 y)
-      (w (mul w y))) (gen) (3 0))
-  (label 87)
-  (parent 48)
-  (unrealized (2 0) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k88">Item <a href="#t0">88</a>, Parent: <a href="#k48">48</a>, Child: <a href="#k126">126</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='489.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 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w y))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w y))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w x x))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w x x))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x x y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w x x y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x y))</title>
-   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul w x x))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 88</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul w x x))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (label 88)
-  (parent 48)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k89">Item <a href="#t0">89</a>, Parent: <a href="#k48">48</a>, Child: <a href="#k127">127</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='114.960' x2='439.800' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='489.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 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x w x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 y))</title>
-   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w x-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 89</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 0) (2 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (label 89)
-  (parent 48)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k90">Item <a href="#t0">90</a>, Parent: <a href="#k48">48</a>, Children: <a href="#k128">128</a> <a href="#k129">129</a> <a href="#k130">130</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='489.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 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul x w))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960' style='text-anchor: middle;'>plaindh 90</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (label 90)
-  (parent 48)
-  (unrealized (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k91">Item <a href="#t0">91</a>, Parent: <a href="#k48">48</a>, Child: <a href="#k131">131</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='189.960' x2='239.880' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <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>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: red;' cx='339.840' 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>(cat (gen) (mul x w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w y))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 91</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (label 91)
-  (parent 48)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k92">Item <a href="#t0">92</a>, Parent: <a href="#k49">49</a>, Child: <a href="#k132">132</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>(cat (exp (gen) x) w)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y w x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y w))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul y w))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>plaindh 92 (realized)</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y w))) (x x))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (1 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (precur (1 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 1))
-  (label 92)
-  (parent 49)
-  (unrealized)
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k93">Item <a href="#t0">93</a>, Parent: <a href="#k51">51</a>, Child: <a href="#k133">133</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='489.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 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 93</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (w-0 (mul x (rec x-0) w)) (x-2 x-0)
-      (w-1 (mul w y)) (y-1 y) (w (mul w y))) (gen) (4 0))
-  (label 93)
-  (parent 51)
-  (unrealized (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k94">Item <a href="#t0">94</a>, Parent: <a href="#k51">51</a>, Child: <a href="#k134">134</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='489.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 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w x-0 x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w x-0 x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x-0 x-0 y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w x-0 x-0 y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 y))</title>
-   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 x-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 y))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 94</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x-0))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x-0 x-0))) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul w x-0 x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-1) (4 0))
-  (label 94)
-  (parent 51)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k95">Item <a href="#t0">95</a>, Parent: <a href="#k51">51</a>, Child: <a href="#k135">135</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='489.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 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 y))</title>
-   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w x-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 95</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 init 1) (exp (gen) x-1) (4 0))
-  (label 95)
-  (parent 51)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k96">Item <a href="#t0">96</a>, Parent: <a href="#k51">51</a>, Child: <a href="#k136">136</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='114.960' x2='539.760' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='114.960' x2='339.840' y2='114.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='489.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 114.960 Q 392.820 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul w y))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul w y))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-1 y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w x-1 y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-1 y))</title>
-   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w x-1))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-1 y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960' style='text-anchor: middle;'>plaindh 96</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (x-1 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-1 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-1))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w y)))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)))
-  (absent (y (exp (gen) (mul x w x-1))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (4 0))
-  (label 96)
-  (parent 51)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k97">Item <a href="#t0">97</a>, Parent: <a href="#k51">51</a>, Children: <a href="#k137">137</a> <a href="#k138">138</a> <a href="#k139">139</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='489.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 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 97</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (4 0))
-  (label 97)
-  (parent 51)
-  (unrealized (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k98">Item <a href="#t0">98</a>, Parent: <a href="#k51">51</a>, Child: <a href="#k140">140</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 604.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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w y))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960' style='text-anchor: middle;'>plaindh 98</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (4 0))
-  (label 98)
-  (parent 51)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k99">Item <a href="#t0">99</a>, Parent: <a href="#k53">53</a>, Child: <a href="#k141">141</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (gen) (mul w y-0))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960' style='text-anchor: middle;'>plaindh 99</text>
-  </svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul x w))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w-0 (mul x (rec y) w)) (y-2 y)
-      (w-1 (mul w y-0)) (y-3 y-0) (w (mul w y-0))) (gen) (4 0))
-  (label 99)
-  (parent 53)
-  (unrealized (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k100">Item <a href="#t0">100</a>, Parent: <a href="#k53">53</a>, Child: <a href="#k142">142</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) x) (mul w y-0))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w y-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w x x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w x x))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x x y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w x x y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x y-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x x))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 100</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x x))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul w x x))))
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (label 100)
-  (parent 53)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k101">Item <a href="#t0">101</a>, Parent: <a href="#k53">53</a>, Child: <a href="#k143">143</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 604.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='114.960' x2='539.760' y2='114.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 114.960 Q 392.730 114.232 245.701 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) x-0) (mul w y-0))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w y-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 y-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w x-0))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 101</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (label 101)
-  (parent 53)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k102">Item <a href="#t0">102</a>, Parent: <a href="#k53">53</a>, Children: <a href="#k144">144</a> <a href="#k145">145</a> <a href="#k146">146</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) y-0) w)</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 102</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 (exp (gen) (mul x w))) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-1) (4 0))
-  (label 102)
-  (parent 53)
-  (unrealized (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k103">Item <a href="#t0">103</a>, Parent: <a href="#k53">53</a>, Child: <a href="#k147">147</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w y))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 103</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 resp 2) (exp (gen) y-1) (4 0))
-  (label 103)
-  (parent 53)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k104">Item <a href="#t0">104</a>, Parent: <a href="#k53">53</a>, Child: <a href="#k148">148</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 604.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='114.960' x2='539.760' y2='189.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) y-0) (mul w y-1))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul w y-1))</title>
-   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w y-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w y-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y-0 y-1)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y-1)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y-0 y-1)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0 y-1))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w y-0))) (y y-1))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0 y-1))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 104</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 y-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 y-1))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y-0))) (y y-1))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y-0 h-0) (y h) (y-1 (exp (gen) (mul x w y-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (label 104)
-  (parent 53)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k105">Item <a href="#t0">105</a>, Parent: <a href="#k54">54</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 264.960 Q 142.920 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (rec x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (rec x))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.158 299.718 42.396 409.477'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='189.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>plaindh 105</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (added-listener x) (rec x) (2 0))
-  (label 105)
-  (parent 54)
-  (unrealized (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k106">Item <a href="#t0">106</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 264.960 Q 142.920 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul (rec x) (rec x)))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) (rec x)))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.158 299.718 42.396 409.477'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='189.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>plaindh 106</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (precur (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul (rec x) (rec x)) (2 0))
-  (label 106)
-  (parent 55)
-  (unrealized (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k107">Item <a href="#t0">107</a>, Parent: <a href="#k60">60</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='114.960' x2='439.800' y2='189.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='114.960' x2='239.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (rec x))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (rec x))</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 239.880 114.960 Q 287.460 150.660 335.041 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 91.158 299.718 42.396 409.477'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 107</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (precur (3 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (3 0))
-  (label 107)
-  (parent 60)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k108">Item <a href="#t0">108</a>, Parent: <a href="#k66">66</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='114.960' x2='439.800' y2='189.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='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='264.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 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle style='fill: blue;' 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;'/>
-  <path
-   d='M 239.880 189.960 Q 286.860 189.960 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 87.540 150.660 135.121 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 108</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y h))
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (3 0))
-  (label 108)
-  (parent 66)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k109">Item <a href="#t0">109</a>, Parent: <a href="#k69">69</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='264.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='339.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(cat (gen) (mul x x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) x)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>plaindh 109</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) x)) (x x))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (precur (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x x) (2 0))
-  (label 109)
-  (parent 69)
-  (unrealized (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k110">Item <a href="#t0">110</a>, Parent: <a href="#k72">72</a>, Children: <a href="#k149">149</a> <a href="#k150">150</a> <a href="#k151">151</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.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='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 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) w)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (gen) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>plaindh 110</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (contracted (x-0 x) (w-0 (mul x w)) (w-1 w))
-    (gen) (3 0))
-  (label 110)
-  (parent 72)
-  (unrealized (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k111">Item <a href="#t0">111</a>, Parent: <a href="#k72">72</a>, Children: <a href="#k152">152</a> <a href="#k153">153</a> <a href="#k154">154</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.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='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 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (gen) (mul w x x))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w x x))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x x))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul w x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>plaindh 111</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x))) (x x))
-  (deflistener (exp (gen) (mul w x x)))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (label 111)
-  (parent 72)
-  (unrealized (1 0) (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k112">Item <a href="#t0">112</a>, Parent: <a href="#k72">72</a>, Children: <a href="#k155">155</a> <a href="#k156">156</a> <a href="#k157">157</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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='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 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 392.820 114.960 345.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (gen) (mul x w x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 112</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (label 112)
-  (parent 72)
-  (unrealized (1 0) (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k113">Item <a href="#t0">113</a>, Parent: <a href="#k72">72</a>, Children: <a href="#k158">158</a> <a href="#k159">159</a> <a href="#k160">160</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='114.960' x2='439.800' y2='189.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='264.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 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.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>(cat (gen) (mul x w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 113</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (3 0)))
-  (absent (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (label 113)
-  (parent 72)
-  (unrealized (1 0) (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k114">Item <a href="#t0">114</a>, Parent: <a href="#k73">73</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>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='39.960' y='39.960'
-   style='text-anchor: middle;'>plaindh 114 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 0))
-  (label 114)
-  (parent 73)
-  (unrealized)
-  (shape)
-  (maps ((0) ((x x) (h (exp (gen) w)) (n n))))
-  (origs (n (0 2))))</pre>
-
-<p id="k115">Item <a href="#t0">115</a>, Parent: <a href="#k79">79</a>, Children: <a href="#k161">161</a> <a href="#k162">162</a> <a href="#k163">163</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) w)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 115</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w-0 (mul x (rec x-0) w)) (x-2 x-0) (w-1 w))
-    (gen) (4 0))
-  (label 115)
-  (parent 79)
-  (unrealized (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k116">Item <a href="#t0">116</a>, Parent: <a href="#k79">79</a>, Children: <a href="#k164">164</a> <a href="#k165">165</a> <a href="#k166">166</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w x-0 x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w x-0 x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x-0 x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x-0 x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 116</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x-0))
-  (deflistener (exp (gen) (mul w x-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-1) (4 0))
-  (label 116)
-  (parent 79)
-  (unrealized (1 0) (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k117">Item <a href="#t0">117</a>, Parent: <a href="#k79">79</a>, Children: <a href="#k167">167</a> <a href="#k168">168</a> <a href="#k169">169</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 117</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 init 1) (exp (gen) x-1) (4 0))
-  (label 117)
-  (parent 79)
-  (unrealized (1 0) (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k118">Item <a href="#t0">118</a>, Parent: <a href="#k79">79</a>, Children: <a href="#k170">170</a> <a href="#k171">171</a> <a href="#k172">172</a> <a href="#k173">173</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 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='539.760' y1='114.960' x2='539.760' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 539.760 114.960 Q 392.820 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.780 114.960 445.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) w)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-1)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-1))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-1))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 118</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-1))) (x x))
-  (deflistener (exp (gen) (mul x w x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) w))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (4 0))
-  (label 118)
-  (parent 79)
-  (unrealized (1 0) (2 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k119">Item <a href="#t0">119</a>, Parent: <a href="#k79">79</a>, Children: <a href="#k174">174</a> <a href="#k175">175</a> <a href="#k176">176</a> <a href="#k177">177</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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 119</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (4 0))
-  (label 119)
-  (parent 79)
-  (unrealized (1 0) (2 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k120">Item <a href="#t0">120</a>, Parent: <a href="#k85">85</a>, Children: <a href="#k178">178</a> <a href="#k179">179</a> <a href="#k180">180</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) w)</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 120</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul x (rec y) w)) (y-0 y) (w-1 w)) (gen)
-    (4 0))
-  (label 120)
-  (parent 85)
-  (unrealized (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k121">Item <a href="#t0">121</a>, Parent: <a href="#k85">85</a>, Children: <a href="#k181">181</a> <a href="#k182">182</a> <a href="#k183">183</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w x x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w x x))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x x)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 121</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x))) (x x))
-  (deflistener (exp (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (label 121)
-  (parent 85)
-  (unrealized (1 0) (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k122">Item <a href="#t0">122</a>, Parent: <a href="#k85">85</a>, Children: <a href="#k184">184</a> <a href="#k185">185</a> <a href="#k186">186</a> <a href="#k187">187</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='114.960' x2='539.760' y2='114.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='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='264.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 539.760 114.960 Q 392.730 114.232 245.701 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.180 150.660 444.599 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 122</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (label 122)
-  (parent 85)
-  (unrealized (1 0) (2 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k123">Item <a href="#t0">123</a>, Parent: <a href="#k85">85</a>, Children: <a href="#k188">188</a> <a href="#k189">189</a> <a href="#k190">190</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 123</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 resp 2) (exp (gen) y-0) (4 0))
-  (label 123)
-  (parent 85)
-  (unrealized (1 0) (2 0))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k124">Item <a href="#t0">124</a>, Parent: <a href="#k85">85</a>, Children: <a href="#k191">191</a> <a href="#k192">192</a> <a href="#k193">193</a> <a href="#k194">194</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='114.960' x2='539.760' y2='189.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='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='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) w)</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w y-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w y-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w y-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 124</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (deflistener (exp (gen) (mul x w y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (label 124)
-  (parent 85)
-  (unrealized (1 0) (2 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k125">Item <a href="#t0">125</a>, Parent: <a href="#k87">87</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='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='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 339.960 Q 392.820 339.960 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>y</title><circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <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>(cat (gen) (mul w y))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul x w))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 125</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (label 125)
-  (parent 87)
-  (unrealized (2 0) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k126">Item <a href="#t0">126</a>, Parent: <a href="#k88">88</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='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='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 339.960 Q 392.820 339.960 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>y</title><circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <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>(cat (exp (gen) x) (mul w y))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w y))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w x x))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w x x))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x x y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w x x y)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul w x x))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 126</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (exp (gen) (mul w x x))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (label 126)
-  (parent 88)
-  (unrealized (1 0) (2 0) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k127">Item <a href="#t0">127</a>, Parent: <a href="#k89">89</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 604.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='114.960' x2='439.800' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='564.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>y</title><circle cx='539.760' cy='339.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='539.760' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <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>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x w x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w x-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 127</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 0) (2 0)) ((5 1) (3 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (label 127)
-  (parent 89)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k128">Item <a href="#t0">128</a>, Parent: <a href="#k90">90</a>, Child: <a href="#k195">195</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='489.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 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (rec x))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (gen)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>plaindh 128</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y (gen)))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (one) (2 0))
-  (label 128)
-  (parent 90)
-  (unrealized (0 1) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k129">Item <a href="#t0">129</a>, Parent: <a href="#k90">90</a>, Child: <a href="#k196">196</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='529.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='489.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 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) w)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>plaindh 129</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (x w) (y (exp (gen) w)))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w) w (2 0))
-  (label 129)
-  (parent 90)
-  (unrealized (0 1) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k130">Item <a href="#t0">130</a>, Parent: <a href="#k90">90</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='189.960' x2='239.880' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <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>(cat (exp (gen) y) w)</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' cx='339.840' 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>(cat (gen) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul x w))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 130</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (2 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (2 0))
-  (label 130)
-  (parent 90)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k131">Item <a href="#t0">131</a>, Parent: <a href="#k91">91</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='679.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 679.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='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='414.960' x2='339.840' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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>y-0</title><circle cx='539.760' cy='414.960' r='6.000'/></g>
-  <g><title>y-0</title>
-   <circle style='fill: red;' cx='539.760' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 489.960 Q 192.900 452.460 45.960 489.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='339.840' cy='489.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='339.840' cy='414.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>(cat (gen) (mul x w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 639.960 Q 92.940 639.960 45.960 639.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='639.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='564.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='639.960' r='6.000'/></g>
-  <path
-   d='M 39.960 564.960 Q 86.940 564.960 133.920 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle cx='39.960' cy='564.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w y))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 131</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (2 0)) ((5 1) (3 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (3 0))
-  (label 131)
-  (parent 91)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k132">Item <a href="#t0">132</a>, Parent: <a href="#k92">92</a>, Seen Child: <a href="#k114">114</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>(cat (exp (gen) x) w)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y w x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y w))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul y w))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>plaindh 132 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y w))) (x x))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (1 0)))
-  (precur (1 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization forgot y)
-  (label 132)
-  (parent 92)
-  (seen 114)
-  (unrealized)
-  (comment &quot;1 in cohort - 0 not yet seen&quot;))</pre>
-
-<p id="k133">Item <a href="#t0">133</a>, Parent: <a href="#k93">93</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 604.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='339.960' x2='439.800' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='564.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>y</title><circle cx='539.760' cy='339.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='539.760' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (gen) (mul w y))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 133</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (label 133)
-  (parent 93)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k134">Item <a href="#t0">134</a>, Parent: <a href="#k94">94</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 604.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='339.960' x2='439.800' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='564.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>y</title><circle cx='539.760' cy='339.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='539.760' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle style='fill: blue;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w x-0 x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w x-0 x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x-0 x-0 y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w x-0 x-0 y)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 x-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 y))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 134</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x-0))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x-0 x-0))) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul w x-0 x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (label 134)
-  (parent 94)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k135">Item <a href="#t0">135</a>, Parent: <a href="#k95">95</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 604.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='339.960' x2='439.800' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='564.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>y</title><circle cx='539.760' cy='339.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='539.760' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle style='fill: blue;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w x-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 135</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (label 135)
-  (parent 95)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k136">Item <a href="#t0">136</a>, Parent: <a href="#k96">96</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='679.680pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 679.680 604.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='114.960' x2='539.760' y2='114.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='114.960' x2='339.840' y2='114.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='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 639.720 339.960 Q 542.760 302.460 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>y</title><circle cx='639.720' cy='339.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='639.720' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 539.760 114.960 Q 392.820 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) x-1) (mul w y))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul w y))</title>
-   <circle style='fill: blue;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-1 y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w x-1 y)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-1 y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w x-1))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-1 y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 136</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (x-1 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-1 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-1))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w y)))
-  (defstrand init 1 (x x-1))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((6 1) (4 0)))
-  (absent (y (exp (gen) (mul x w x-1))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (label 136)
-  (parent 96)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k137">Item <a href="#t0">137</a>, Parent: <a href="#k97">97</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='489.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 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul (rec x) x-0))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y (rec x) x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) x-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 137</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x) x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (precur (4 0) (2 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0))) (one) (2 0))
-  (label 137)
-  (parent 97)
-  (unrealized (0 1) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k138">Item <a href="#t0">138</a>, Parent: <a href="#k97">97</a>, Child: <a href="#k197">197</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='489.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 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec x-0)))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y (rec x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 138</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (x-0 (mul (rec x) w)) (y (exp (gen) w)))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w))
-    (mul (rec x) w) (2 0))
-  (label 138)
-  (parent 97)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k139">Item <a href="#t0">139</a>, Parent: <a href="#k97">97</a>, Child: <a href="#k198">198</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='489.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 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w x-0))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y x-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w x-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 139</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (x-0 (mul x w)) (y (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w)) (mul x w) (2 0))
-  (label 139)
-  (parent 97)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k140">Item <a href="#t0">140</a>, Parent: <a href="#k98">98</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='679.680pt' height='679.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 679.680 679.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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='414.960' x2='439.800' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 639.720 414.960 Q 542.760 377.460 445.800 414.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y-0</title><circle cx='639.720' cy='414.960' r='6.000'/></g>
-  <g><title>y-0</title>
-   <circle style='fill: red;' cx='639.720' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 489.960 Q 242.880 452.460 45.960 489.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='439.800' cy='489.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 639.960 Q 92.940 639.960 45.960 639.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='639.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='564.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='639.960' r='6.000'/></g>
-  <path
-   d='M 39.960 564.960 Q 86.940 564.960 133.920 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle cx='39.960' cy='564.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w y))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 140</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((6 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (label 140)
-  (parent 98)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k141">Item <a href="#t0">141</a>, Parent: <a href="#k99">99</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='679.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 679.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='414.960' x2='439.800' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 414.960 Q 492.780 414.960 445.800 414.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y-0</title><circle cx='539.760' cy='414.960' r='6.000'/></g>
-  <g><title>y-0</title>
-   <circle style='fill: red;' cx='539.760' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 439.800 489.960 Q 242.880 452.460 45.960 489.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w y-0))</title>
-   <circle cx='439.800' cy='489.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 639.960 Q 92.940 639.960 45.960 639.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='639.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='564.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='639.960' r='6.000'/></g>
-  <path
-   d='M 39.960 564.960 Q 86.940 564.960 133.920 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y-0)))</title>
-   <circle cx='39.960' cy='564.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 141</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (label 141)
-  (parent 99)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k142">Item <a href="#t0">142</a>, Parent: <a href="#k100">100</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='679.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 679.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='414.960' x2='439.800' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 414.960 Q 492.780 414.960 445.800 414.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y-0</title><circle cx='539.760' cy='414.960' r='6.000'/></g>
-  <g><title>y-0</title>
-   <circle style='fill: red;' cx='539.760' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 439.800 489.960 Q 242.880 452.460 45.960 489.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w y-0))</title>
-   <circle cx='439.800' cy='489.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w x x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w x x))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 639.960 Q 92.940 639.960 45.960 639.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='639.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x x y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='564.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='639.960' r='6.000'/></g>
-  <path
-   d='M 39.960 564.960 Q 86.940 564.960 133.920 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w x x y-0)))</title>
-   <circle cx='39.960' cy='564.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x y-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x x))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 142</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x x))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w x x))))
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (label 142)
-  (parent 100)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k143">Item <a href="#t0">143</a>, Parent: <a href="#k101">101</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='679.680pt' height='679.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 679.680 679.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='114.960' x2='539.760' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='414.960' x2='439.800' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 639.720 414.960 Q 542.760 377.460 445.800 414.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y-0</title><circle cx='639.720' cy='414.960' r='6.000'/></g>
-  <g><title>y-0</title>
-   <circle style='fill: red;' cx='639.720' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 539.760 114.960 Q 392.730 114.232 245.701 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 489.960 Q 242.880 452.460 45.960 489.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w y-0))</title>
-   <circle cx='439.800' cy='489.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 639.960 Q 92.940 639.960 45.960 639.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='639.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='564.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='639.960' r='6.000'/></g>
-  <path
-   d='M 39.960 564.960 Q 86.940 564.960 133.920 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y-0)))</title>
-   <circle cx='39.960' cy='564.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 y-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w x-0))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 143</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((6 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (label 143)
-  (parent 101)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k144">Item <a href="#t0">144</a>, Parent: <a href="#k102">102</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) y) (mul (rec x) y-0))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec x) y-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y-0) (one))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul y y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y (rec x) y-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) y-0)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y (rec x) y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 144</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x) y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) y-0)) (y-0 h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w (mul (rec x) y-0))) (one) (2 0))
-  (label 144)
-  (parent 102)
-  (unrealized (0 1) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k145">Item <a href="#t0">145</a>, Parent: <a href="#k102">102</a>, Child: <a href="#k199">199</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) y-0) (mul w (rec x)))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul w (rec x)))</title>
-   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0 (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 145</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (x (mul (rec y) w)) (y-0 (exp (gen) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w))
-    (mul (rec y) w) (2 0))
-  (label 145)
-  (parent 102)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k146">Item <a href="#t0">146</a>, Parent: <a href="#k102">102</a>, Child: <a href="#k200">200</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 604.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y-0) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w y-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 146</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 (mul x w)) (y (exp (gen) (mul x w y-0))) (y-0 h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w)) (mul x w) (2 0))
-  (label 146)
-  (parent 102)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k147">Item <a href="#t0">147</a>, Parent: <a href="#k103">103</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='679.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 679.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='414.960' x2='439.800' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 414.960 Q 492.780 414.960 445.800 414.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y-0</title><circle cx='539.760' cy='414.960' r='6.000'/></g>
-  <g><title>y-0</title>
-   <circle style='fill: red;' cx='539.760' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 439.800 489.960 Q 242.880 452.460 45.960 489.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='439.800' cy='489.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 639.960 Q 92.940 639.960 45.960 639.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='639.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='564.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='639.960' r='6.000'/></g>
-  <path
-   d='M 39.960 564.960 Q 86.940 564.960 133.920 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle cx='39.960' cy='564.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w y))) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 147</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (label 147)
-  (parent 103)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k148">Item <a href="#t0">148</a>, Parent: <a href="#k104">104</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='679.680pt' height='679.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 679.680 679.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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='414.960' x2='439.800' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 639.720 414.960 Q 542.760 377.460 445.800 414.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y-1</title><circle cx='639.720' cy='414.960' r='6.000'/></g>
-  <g><title>y-1</title>
-   <circle style='fill: red;' cx='639.720' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 489.960 Q 242.880 452.460 45.960 489.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul w y-1))</title>
-   <circle cx='439.800' cy='489.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul w y-1))</title>
-   <circle style='fill: blue;' cx='439.800' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w y-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w y-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 639.960 Q 92.940 639.960 45.960 639.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='639.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y-0 y-1)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='564.960' r='6.000'/></g>
-  <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>(exp (gen) y-1)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='639.960' r='6.000'/></g>
-  <path
-   d='M 39.960 564.960 Q 86.940 564.960 133.920 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y-0 y-1)))</title>
-   <circle cx='39.960' cy='564.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0 y-1))</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w y-0))) (y y-1))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0 y-1))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 148</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 y-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 y-1))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y-0))) (y y-1))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (deflistener y-1)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((6 1) (4 0)))
-  (absent (y-0 h-0) (y h) (y-1 (exp (gen) (mul x w y-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-1) (mul w y-1) (4 0))
-  (label 148)
-  (parent 104)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k149">Item <a href="#t0">149</a>, Parent: <a href="#k110">110</a>, Child: <a href="#k201">201</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.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='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 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (rec x))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (rec x))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(cat (gen) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='264.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>plaindh 149</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (gen) (rec x)))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (one) (2 0))
-  (label 149)
-  (parent 110)
-  (unrealized (0 1) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k150">Item <a href="#t0">150</a>, Parent: <a href="#k110">110</a>, Child: <a href="#k202">202</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.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='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 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w (rec x)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w (rec x)))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>plaindh 150</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (absent (x w))
-  (operation nonce-test (added-absence x w) w (2 0))
-  (label 150)
-  (parent 110)
-  (unrealized (0 1) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k151">Item <a href="#t0">151</a>, Parent: <a href="#k110">110</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) w)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (gen) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 151</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) w))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (added-listener x) (mul x w) (2 0))
-  (label 151)
-  (parent 110)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k152">Item <a href="#t0">152</a>, Parent: <a href="#k111">111</a>, Child: <a href="#k203">203</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.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='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 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul (rec x) (rec x)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) (rec x)))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(cat (gen) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='264.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>plaindh 152</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (w (mul (rec x) (rec x))) (x-0 x))
-    (one) (2 0))
-  (label 152)
-  (parent 111)
-  (unrealized (0 1) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k153">Item <a href="#t0">153</a>, Parent: <a href="#k111">111</a>, Child: <a href="#k204">204</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.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='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 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w (rec x) (rec x)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w (rec x) (rec x)))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>plaindh 153</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (absent (x w))
-  (operation nonce-test (added-absence x w) w (2 0))
-  (label 153)
-  (parent 111)
-  (unrealized (0 1) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k154">Item <a href="#t0">154</a>, Parent: <a href="#k111">111</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (gen) (mul w x x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w x x))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul w x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 154</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x))) (x x))
-  (deflistener (exp (gen) (mul w x x)))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) w))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w x x) (2 0))
-  (label 154)
-  (parent 111)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k155">Item <a href="#t0">155</a>, Parent: <a href="#k112">112</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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='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 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 392.820 114.960 345.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) (rec x-0)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) (rec x-0)))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(cat (gen) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='264.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 155</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w (mul (rec x) (rec x-0))) (x-2 x-0)) (one)
-    (2 0))
-  (label 155)
-  (parent 112)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k156">Item <a href="#t0">156</a>, Parent: <a href="#k112">112</a>, Child: <a href="#k205">205</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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='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 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 392.820 114.960 345.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(cat (gen) (mul w x))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w x))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x (rec x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 156</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul w x)))
-  (operation nonce-test (added-absence x-0 (mul w x)) (mul w x) (2 0))
-  (label 156)
-  (parent 112)
-  (unrealized (0 1) (2 0) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k157">Item <a href="#t0">157</a>, Parent: <a href="#k112">112</a>, Child: <a href="#k206">206</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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='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 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 392.820 114.960 345.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0)))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(cat (gen) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 157</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul x w)))
-  (operation nonce-test (added-absence x-0 (mul x w)) (mul x w) (2 0))
-  (label 157)
-  (parent 112)
-  (unrealized (2 0) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k158">Item <a href="#t0">158</a>, Parent: <a href="#k113">113</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='114.960' x2='439.800' y2='189.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='264.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 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul (rec x) (rec y)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec x) (rec y)))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.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>(cat (gen) (one))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='339.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 158</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y) (mul (rec x) (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (3 0)))
-  (absent (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w (mul (rec x) (rec y))) (y-0 y)) (one) (2 0))
-  (label 158)
-  (parent 113)
-  (unrealized (0 1) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k159">Item <a href="#t0">159</a>, Parent: <a href="#k113">113</a>, Child: <a href="#k207">207</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='114.960' x2='439.800' y2='189.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='264.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 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.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>(cat (gen) (mul w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 159</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (3 0)))
-  (absent (x (mul w y)) (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul w y)) (mul w y) (2 0))
-  (label 159)
-  (parent 113)
-  (unrealized (0 1) (2 0) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k160">Item <a href="#t0">160</a>, Parent: <a href="#k113">113</a>, Child: <a href="#k208">208</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='114.960' x2='439.800' y2='189.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='264.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 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec y)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec y)))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.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>(cat (gen) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 160</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (3 0)))
-  (absent (y (mul x w)) (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w)) (mul x w) (2 0))
-  (label 160)
-  (parent 113)
-  (unrealized (2 0) (3 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k161">Item <a href="#t0">161</a>, Parent: <a href="#k115">115</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul (rec x) x-0))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 161</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0))) (one) (2 0))
-  (label 161)
-  (parent 115)
-  (unrealized (0 1) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k162">Item <a href="#t0">162</a>, Parent: <a href="#k115">115</a>, Child: <a href="#k209">209</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w (rec x-0)))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 162</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (gen) (mul w (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul (rec x) w)))
-  (operation nonce-test (added-absence x-0 (mul (rec x) w))
-    (mul (rec x) w) (2 0))
-  (label 162)
-  (parent 115)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k163">Item <a href="#t0">163</a>, Parent: <a href="#k115">115</a>, Child: <a href="#k210">210</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w x-0))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 163</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul x w)))
-  (operation nonce-test (added-absence x-0 (mul x w)) (mul x w) (2 0))
-  (label 163)
-  (parent 115)
-  (unrealized (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k164">Item <a href="#t0">164</a>, Parent: <a href="#k116">116</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0)))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0)))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x (rec x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 164</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w (mul x (rec x-0) (rec x-0))) (x-2 x-0)) (one)
-    (2 0))
-  (label 164)
-  (parent 116)
-  (unrealized (0 1) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k165">Item <a href="#t0">165</a>, Parent: <a href="#k116">116</a>, Child: <a href="#k211">211</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w x-0))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul w x x))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w x x))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x x x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 165</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x x-0))) (x x))
-  (deflistener (exp (gen) (mul w x x x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w x x)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x) (mul w x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul w x x)))
-  (operation nonce-test (added-absence x-0 (mul w x x)) (mul w x x)
-    (2 0))
-  (label 165)
-  (parent 116)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k166">Item <a href="#t0">166</a>, Parent: <a href="#k116">116</a>, Child: <a href="#k212">212</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0)))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0)))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 166</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul (rec x) w)))
-  (operation nonce-test (added-absence x-0 (mul (rec x) w))
-    (mul (rec x) w) (2 0))
-  (label 166)
-  (parent 116)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k167">Item <a href="#t0">167</a>, Parent: <a href="#k117">117</a>, Child: <a href="#k213">213</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (rec x-0))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (rec x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x (rec x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 167</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (rec x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-1 x-0) (w (rec x-0))) (one)
-    (2 0))
-  (label 167)
-  (parent 117)
-  (unrealized (0 1) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k168">Item <a href="#t0">168</a>, Parent: <a href="#k117">117</a>, Child: <a href="#k214">214</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x (rec x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 168</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 w))
-  (operation nonce-test (added-absence x-0 w) w (2 0))
-  (label 168)
-  (parent 117)
-  (unrealized (0 1) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k169">Item <a href="#t0">169</a>, Parent: <a href="#k117">117</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 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='539.760' y1='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 169</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) w))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (2 0))
-  (label 169)
-  (parent 117)
-  (unrealized (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k170">Item <a href="#t0">170</a>, Parent: <a href="#k118">118</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 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='539.760' y1='114.960' x2='539.760' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 539.760 114.960 Q 392.820 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.780 114.960 445.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 170</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-2 x) (x-3 x-0) (w (mul (rec x) x-0 (rec x-1)))
-      (x-4 x-1)) (one) (2 0))
-  (label 170)
-  (parent 118)
-  (unrealized (0 1) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k171">Item <a href="#t0">171</a>, Parent: <a href="#k118">118</a>, Child: <a href="#k215">215</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 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='539.760' y1='114.960' x2='539.760' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 539.760 114.960 Q 392.820 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.780 114.960 445.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-1)))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-1)))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x-0)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 (rec x-1)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g>
-   <title>((n n) (h (exp (gen) (mul w x-0 (rec x-1)))) (x x-1))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 171</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 (rec x-1)))) (x x-1))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-1))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul (rec x) w x-0)))
-  (operation nonce-test (added-absence x-1 (mul (rec x) w x-0))
-    (mul (rec x) w x-0) (2 0))
-  (label 171)
-  (parent 118)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k172">Item <a href="#t0">172</a>, Parent: <a href="#k118">118</a>, Child: <a href="#k216">216</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 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='539.760' y1='114.960' x2='539.760' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 539.760 114.960 Q 392.820 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.780 114.960 445.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w x-1))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w x-1))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-1) (mul x w x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w x-0 x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0 x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0 x-1)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 x-1))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-1))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 x-1))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 172</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 x-1))) (x x))
-  (deflistener (exp (gen) (mul x w x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) (mul x w x-0)))
-  (defstrand init 1 (x x-1))
-  (deflistener (cat (exp (gen) x-0) (mul w x-1)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul x w x-0)))
-  (operation nonce-test (added-absence x-1 (mul x w x-0)) (mul x w x-0)
-    (2 0))
-  (label 172)
-  (parent 118)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k173">Item <a href="#t0">173</a>, Parent: <a href="#k118">118</a>, Child: <a href="#k217">217</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 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='539.760' y1='114.960' x2='539.760' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 539.760 114.960 Q 392.820 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.780 114.960 445.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 242.880 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul w (rec x-1)))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul w (rec x-1)))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 173</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul x (rec x-0) w)))
-  (operation nonce-test (added-absence x-1 (mul x (rec x-0) w))
-    (mul x (rec x-0) w) (2 0))
-  (label 173)
-  (parent 118)
-  (unrealized (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k174">Item <a href="#t0">174</a>, Parent: <a href="#k119">119</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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul (rec x) x-0 (rec y)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec x) x-0 (rec y)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (one))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 174</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0 (rec y))) (y-0 y))
-    (one) (2 0))
-  (label 174)
-  (parent 119)
-  (unrealized (0 1) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k175">Item <a href="#t0">175</a>, Parent: <a href="#k119">119</a>, Child: <a href="#k218">218</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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec x-0)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y (rec x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 175</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w y)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (x-0 (mul (rec x) w y)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w y))
-    (mul (rec x) w y) (2 0))
-  (label 175)
-  (parent 119)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k176">Item <a href="#t0">176</a>, Parent: <a href="#k119">119</a>, Child: <a href="#k219">219</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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w y x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y x-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 176</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (deflistener (exp (gen) (mul x w y x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (x-0 (mul x w y)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w y)) (mul x w y)
-    (2 0))
-  (label 176)
-  (parent 119)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k177">Item <a href="#t0">177</a>, Parent: <a href="#k119">119</a>, Child: <a href="#k220">220</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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec y)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec y)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 177</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y (mul x (rec x-0) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x (rec x-0) w))
-    (mul x (rec x-0) w) (2 0))
-  (label 177)
-  (parent 119)
-  (unrealized (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k178">Item <a href="#t0">178</a>, Parent: <a href="#k120">120</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul (rec x) y))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (one))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 178</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul (rec x) y)))
-    (one) (2 0))
-  (label 178)
-  (parent 120)
-  (unrealized (0 1) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k179">Item <a href="#t0">179</a>, Parent: <a href="#k120">120</a>, Child: <a href="#k221">221</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w (rec x)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w (rec x)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 179</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (x (mul (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w))
-    (mul (rec y) w) (2 0))
-  (label 179)
-  (parent 120)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k180">Item <a href="#t0">180</a>, Parent: <a href="#k120">120</a>, Child: <a href="#k222">222</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 180</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y (mul x w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w)) (mul x w) (2 0))
-  (label 180)
-  (parent 120)
-  (unrealized (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k181">Item <a href="#t0">181</a>, Parent: <a href="#k121">121</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul y (rec x) (rec x)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul y (rec x) (rec x)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (one))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 181</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (y-0 y) (w (mul y (rec x) (rec x))) (x-0 x)) (one)
-    (2 0))
-  (label 181)
-  (parent 121)
-  (unrealized (0 1) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k182">Item <a href="#t0">182</a>, Parent: <a href="#k121">121</a>, Child: <a href="#k223">223</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w y))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w y))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul w x x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w x x))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x x y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 182</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (deflistener (exp (gen) (mul w x x y)))
-  (deflistener (cat (exp (gen) y) (mul w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y (mul w x x)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul w x x)) (mul w x x) (2 0))
-  (label 182)
-  (parent 121)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k183">Item <a href="#t0">183</a>, Parent: <a href="#k121">121</a>, Child: <a href="#k224">224</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w (rec x) (rec x)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w (rec x) (rec x)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 183</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (x (mul (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w))
-    (mul (rec y) w) (2 0))
-  (label 183)
-  (parent 121)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k184">Item <a href="#t0">184</a>, Parent: <a href="#k122">122</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='114.960' x2='539.760' y2='114.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='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='264.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 539.760 114.960 Q 392.730 114.232 245.701 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.180 150.660 444.599 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (one))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 184</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (w (mul (rec x) y (rec x-0))) (x-2 x-0))
-    (one) (2 0))
-  (label 184)
-  (parent 122)
-  (unrealized (0 1) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k185">Item <a href="#t0">185</a>, Parent: <a href="#k122">122</a>, Child: <a href="#k225">225</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='114.960' x2='539.760' y2='114.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='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='264.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 539.760 114.960 Q 392.730 114.232 245.701 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.180 150.660 444.599 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w x))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x (rec x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 185</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (absent (x-0 (mul (rec y) w x)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec y) w x))
-    (mul (rec y) w x) (2 0))
-  (label 185)
-  (parent 122)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k186">Item <a href="#t0">186</a>, Parent: <a href="#k122">122</a>, Child: <a href="#k226">226</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='114.960' x2='539.760' y2='114.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='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='264.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 539.760 114.960 Q 392.730 114.232 245.701 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.180 150.660 444.599 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x w x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w x-0 y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0 y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 186</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (deflistener (exp (gen) (mul x w x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (absent (y (mul x w x-0)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w x-0)) (mul x w x-0)
-    (2 0))
-  (label 186)
-  (parent 122)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k187">Item <a href="#t0">187</a>, Parent: <a href="#k122">122</a>, Child: <a href="#k227">227</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='114.960' x2='539.760' y2='114.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='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='264.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 539.760 114.960 Q 392.730 114.232 245.701 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.180 150.660 444.599 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 187</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (absent (x-0 (mul x (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x (rec y) w))
-    (mul x (rec y) w) (2 0))
-  (label 187)
-  (parent 122)
-  (unrealized (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k188">Item <a href="#t0">188</a>, Parent: <a href="#k123">123</a>, Child: <a href="#k228">228</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (one))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 188</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (one) (2 0))
-  (label 188)
-  (parent 123)
-  (unrealized (0 1) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k189">Item <a href="#t0">189</a>, Parent: <a href="#k123">123</a>, Child: <a href="#k229">229</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='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='264.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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 189</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (x w) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w) w (2 0))
-  (label 189)
-  (parent 123)
-  (unrealized (0 1) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k190">Item <a href="#t0">190</a>, Parent: <a href="#k123">123</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='114.960' x2='539.760' y2='189.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='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='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x w))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 236.931 114.407 433.903 188.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 190</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (2 0))
-  (label 190)
-  (parent 123)
-  (unrealized (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k191">Item <a href="#t0">191</a>, Parent: <a href="#k124">124</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='114.960' x2='539.760' y2='189.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='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='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (one))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul (rec x) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 191</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (w (mul (rec x) y (rec y-0))) (y-2 y-0))
-    (one) (2 0))
-  (label 191)
-  (parent 124)
-  (unrealized (0 1) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k192">Item <a href="#t0">192</a>, Parent: <a href="#k124">124</a>, Child: <a href="#k230">230</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='114.960' x2='539.760' y2='189.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='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='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul w (rec x)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul w (rec x)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w y-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w y-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0 (rec x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 192</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (x (mul (rec y) w y-0)) (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w y-0))
-    (mul (rec y) w y-0) (2 0))
-  (label 192)
-  (parent 124)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k193">Item <a href="#t0">193</a>, Parent: <a href="#k124">124</a>, Child: <a href="#k231">231</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='114.960' x2='539.760' y2='189.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='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='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y-0) (mul x w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul x w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w y y-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y y-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 193</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h-0) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y-0 (mul x w y)) (y h-0) (y-0 h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w y)) (mul x w y)
-    (2 0))
-  (label 193)
-  (parent 124)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k194">Item <a href="#t0">194</a>, Parent: <a href="#k124">124</a>, Child: <a href="#k232">232</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='114.960' x2='539.760' y2='189.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='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='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul w (rec y-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul w (rec y-0)))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 194</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y-0 (mul x (rec y) w)) (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x (rec y) w))
-    (mul x (rec y) w) (2 0))
-  (label 194)
-  (parent 124)
-  (unrealized (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k195">Item <a href="#t0">195</a>, Parent: <a href="#k128">128</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='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='489.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 189.960 Q 392.220 225.660 344.639 261.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y (rec x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (gen)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 195</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 3) (0 3)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (3 0))
-  (label 195)
-  (parent 128)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k196">Item <a href="#t0">196</a>, Parent: <a href="#k129">129</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='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='489.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 189.960 Q 392.220 225.660 344.639 261.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y (rec x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) w)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 196</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 3) (0 3)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (x w) (y (exp (gen) w)))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (3 0))
-  (label 196)
-  (parent 129)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k197">Item <a href="#t0">197</a>, Parent: <a href="#k138">138</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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='114.960' x2='339.840' y2='114.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='489.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 189.960 Q 492.180 225.660 444.599 261.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec x-0)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y (rec x-0)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 197</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (4 0))
-    ((1 3) (0 3)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1))
-    ((5 1) (4 0)))
-  (absent (x-0 (mul (rec x) w)) (y (exp (gen) w)))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (label 197)
-  (parent 138)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k198">Item <a href="#t0">198</a>, Parent: <a href="#k139">139</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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='114.960' x2='339.840' y2='114.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='489.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 189.960 Q 492.180 225.660 444.599 261.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w x-0))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y x-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 414.960 Q 86.940 414.960 133.920 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w x-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 198</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 1))
-    ((5 1) (4 0)))
-  (absent (x-0 (mul x w)) (y (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w x-0) (4 0))
-  (label 198)
-  (parent 139)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k199">Item <a href="#t0">199</a>, Parent: <a href="#k145">145</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 604.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='114.960' x2='539.760' y2='189.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 189.960 Q 491.444 262.464 443.127 334.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) y-0) (mul w (rec x)))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul w (rec x)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y-0)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul w y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0 (rec x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (y y-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 199</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (4 0))
-    ((1 3) (0 3)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1))
-    ((5 1) (4 0)))
-  (absent (x (mul (rec y) w)) (y-0 (exp (gen) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (label 199)
-  (parent 145)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k200">Item <a href="#t0">200</a>, Parent: <a href="#k146">146</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 604.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='339.960' x2='439.800' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='264.960' x2='139.920' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 264.960 Q 492.180 300.660 444.599 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y-0</title><circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>y-0</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 436.800 152.460 533.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y-0) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 564.960 Q 92.940 564.960 45.960 564.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>n</title><circle cx='139.920' cy='564.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle style='fill: blue;' cx='139.920' cy='489.960' r='6.000'/></g>
-  <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>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='564.960' r='6.000'/></g>
-  <path
-   d='M 39.960 489.960 Q 86.940 489.960 133.920 489.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x w y-0))) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 200</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((3 1) (5 0)) ((4 1) (0 1))
-    ((5 1) (4 0)))
-  (absent (y-0 (mul x w)) (y (exp (gen) (mul x w y-0))) (y-0 h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (label 200)
-  (parent 146)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k201">Item <a href="#t0">201</a>, Parent: <a href="#k149">149</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='114.960' x2='439.800' y2='189.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='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='264.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 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (rec x))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (rec x))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='264.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 201</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (gen) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (added-listener x) (rec x) (3 0))
-  (label 201)
-  (parent 149)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k202">Item <a href="#t0">202</a>, Parent: <a href="#k150">150</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='114.960' x2='439.800' y2='189.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='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='264.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 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w (rec x)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w (rec x)))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 202</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (absent (x w))
-  (operation nonce-test (added-listener x) (mul w (rec x)) (3 0))
-  (label 202)
-  (parent 150)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k203">Item <a href="#t0">203</a>, Parent: <a href="#k152">152</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='114.960' x2='439.800' y2='189.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='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='264.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 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul (rec x) (rec x)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) (rec x)))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='264.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (gen))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (rec x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 203</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul (rec x) (rec x)) (3 0))
-  (label 203)
-  (parent 152)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k204">Item <a href="#t0">204</a>, Parent: <a href="#k153">153</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='114.960' x2='439.800' y2='189.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='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='264.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 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w (rec x) (rec x)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w (rec x) (rec x)))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>plaindh 204</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (absent (x w))
-  (operation nonce-test (added-listener x) (mul w (rec x) (rec x))
-    (3 0))
-  (label 204)
-  (parent 153)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k205">Item <a href="#t0">205</a>, Parent: <a href="#k156">156</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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='114.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='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='264.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 189.960 Q 442.800 152.460 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 392.220 150.660 344.639 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w x))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w x))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x (rec x-0)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 205</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (3 0)) ((5 1) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul w x)))
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (3 0))
-  (label 205)
-  (parent 156)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k206">Item <a href="#t0">206</a>, Parent: <a href="#k157">157</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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='114.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='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='264.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 189.960 Q 442.800 152.460 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 486.780 114.960 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0)))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.990 114.232 334.019 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 206</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (5 0)) ((5 1) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul x w)))
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (3 0))
-  (label 206)
-  (parent 157)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k207">Item <a href="#t0">207</a>, Parent: <a href="#k159">159</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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='189.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='264.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 539.760 189.960 Q 442.800 152.460 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.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>(cat (gen) (mul w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y (rec x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 207</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (absent (x (mul w y)) (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (3 0))
-  (label 207)
-  (parent 159)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k208">Item <a href="#t0">208</a>, Parent: <a href="#k160">160</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='189.960' x2='239.880' y2='264.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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 264.960 Q 442.800 227.460 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>y</title><circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 189.960 Q 486.780 189.960 533.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec y)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec y)))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.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>(cat (gen) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 91.604 412.464 43.287 484.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 189.960 Q 186.990 189.232 334.019 263.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 208</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (5 0)) ((5 1) (3 0)))
-  (absent (y (mul x w)) (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w (rec y)) (3 0))
-  (label 208)
-  (parent 160)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k209">Item <a href="#t0">209</a>, Parent: <a href="#k162">162</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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w (rec x-0)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x-0)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 209</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (gen) (mul w (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul (rec x) w)))
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (label 209)
-  (parent 162)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k210">Item <a href="#t0">210</a>, Parent: <a href="#k163">163</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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.931 114.407 433.903 188.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 210</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul x w)))
-  (operation nonce-test (added-listener x-0) (mul w x-0) (4 0))
-  (label 210)
-  (parent 163)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k211">Item <a href="#t0">211</a>, Parent: <a href="#k165">165</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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul w x x))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w x x))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.931 114.407 433.903 188.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 211</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x x-0))) (x x))
-  (deflistener (exp (gen) (mul w x x x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w x x)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x) (mul w x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul w x x)))
-  (operation nonce-test (added-listener x-0) (mul w x-0) (4 0))
-  (label 211)
-  (parent 165)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k212">Item <a href="#t0">212</a>, Parent: <a href="#k166">166</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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x-0)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 212</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul (rec x) w)))
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0) (rec x-0))
-    (4 0))
-  (label 212)
-  (parent 166)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k213">Item <a href="#t0">213</a>, Parent: <a href="#k167">167</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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (rec x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (rec x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (one))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) x))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x (rec x-0)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 213</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (rec x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (rec x-0) (4 0))
-  (label 213)
-  (parent 167)
-  (unrealized (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k214">Item <a href="#t0">214</a>, Parent: <a href="#k168">168</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='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x (rec x-0)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 214</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 w))
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (label 214)
-  (parent 168)
-  (unrealized (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k215">Item <a href="#t0">215</a>, Parent: <a href="#k171">171</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='114.960' x2='639.720' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='114.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='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 542.760 152.460 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-1</title><circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>x-1</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 114.960 Q 392.820 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.180 150.660 444.599 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-1)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-1)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 (rec x-1)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g>
-   <title>((n n) (h (exp (gen) (mul w x-0 (rec x-1)))) (x x-1))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 215</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 (rec x-1)))) (x x-1))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-1))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-1)
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)) ((6 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul (rec x) w x-0)))
-  (operation nonce-test (added-listener x-1) (mul w (rec x-1)) (4 0))
-  (label 215)
-  (parent 171)
-  (unrealized (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k216">Item <a href="#t0">216</a>, Parent: <a href="#k172">172</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='114.960' x2='639.720' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='114.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='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 542.760 152.460 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-1</title><circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>x-1</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 114.960 Q 392.820 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.180 150.660 444.599 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w x-1))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w x-1))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 486.780 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-1) (mul x w x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w x-0 x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0 x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0 x-1)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 x-1))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.931 114.407 433.903 188.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-1))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 x-1))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 216</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 x-1))) (x x))
-  (deflistener (exp (gen) (mul x w x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) (mul x w x-0)))
-  (defstrand init 1 (x x-1))
-  (deflistener (cat (exp (gen) x-0) (mul w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener x-1)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (6 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)) ((6 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul x w x-0)))
-  (operation nonce-test (added-listener x-1) (mul w x-1) (4 0))
-  (label 216)
-  (parent 172)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k217">Item <a href="#t0">217</a>, Parent: <a href="#k173">173</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='114.960' x2='639.720' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='114.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='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 542.760 152.460 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-1</title><circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>x-1</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 114.960 Q 392.820 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 586.740 114.960 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul w (rec x-1)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul w (rec x-1)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.931 114.407 433.903 188.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 217</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (deflistener x-1)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (6 0)) ((6 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul x (rec x-0) w)))
-  (operation nonce-test (added-listener x-1) (mul w (rec x-1)) (4 0))
-  (label 217)
-  (parent 173)
-  (unrealized (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k218">Item <a href="#t0">218</a>, Parent: <a href="#k175">175</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='114.960' x2='639.720' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 639.720 189.960 Q 542.760 152.460 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec x-0)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 387.420 150.660 435.001 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y (rec x-0)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 218</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w y)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (absent (x-0 (mul (rec x) w y)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (label 218)
-  (parent 175)
-  (unrealized (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k219">Item <a href="#t0">219</a>, Parent: <a href="#k176">176</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='114.960' x2='639.720' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='189.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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 639.720 189.960 Q 542.760 152.460 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 486.780 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w y x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y x-0))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 219</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (deflistener (exp (gen) (mul x w y x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (6 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (absent (x-0 (mul x w y)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w x-0) (4 0))
-  (label 219)
-  (parent 176)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k220">Item <a href="#t0">220</a>, Parent: <a href="#k177">177</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 639.720 264.960 Q 542.760 227.460 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y</title><circle cx='639.720' cy='264.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='639.720' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 586.740 189.960 633.720 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec y)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec y)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 388.156 187.464 436.473 259.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 91.604 412.464 43.287 484.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 189.960 Q 236.931 189.407 433.903 263.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 220</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (6 0)) ((6 1) (4 0)))
-  (absent (y (mul x (rec x-0) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w (rec y)) (4 0))
-  (label 220)
-  (parent 177)
-  (unrealized (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k221">Item <a href="#t0">221</a>, Parent: <a href="#k179">179</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='114.960' x2='539.760' y2='189.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='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='264.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 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w (rec x)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w (rec x)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 221</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x (mul (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (label 221)
-  (parent 179)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k222">Item <a href="#t0">222</a>, Parent: <a href="#k180">180</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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='264.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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y</title><circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 436.800 152.460 533.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 91.604 412.464 43.287 484.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 189.960 Q 236.931 189.407 433.903 263.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 222</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (mul x w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (label 222)
-  (parent 180)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k223">Item <a href="#t0">223</a>, Parent: <a href="#k182">182</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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='264.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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y</title><circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w y))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w y))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 436.800 152.460 533.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul w x x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w x x))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 91.604 412.464 43.287 484.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x x y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x x y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x y))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 189.960 Q 236.931 189.407 433.903 263.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 223</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (deflistener (exp (gen) (mul w x x y)))
-  (deflistener (cat (exp (gen) y) (mul w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (mul w x x)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (label 223)
-  (parent 182)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k224">Item <a href="#t0">224</a>, Parent: <a href="#k183">183</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='114.960' x2='539.760' y2='189.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='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='264.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 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w (rec x) (rec x)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w (rec x) (rec x)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) w))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w (rec x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 224</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x (mul (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x) (rec x))
-    (4 0))
-  (label 224)
-  (parent 183)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k225">Item <a href="#t0">225</a>, Parent: <a href="#k185">185</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='114.960' x2='639.720' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='114.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='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='264.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 639.720 189.960 Q 542.760 152.460 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 114.960 Q 392.730 114.232 245.701 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 492.180 150.660 444.599 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w (rec x-0)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w x))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w x)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x (rec x-0)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 225</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)) ((6 1) (4 0)))
-  (absent (x-0 (mul (rec y) w x)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (label 225)
-  (parent 185)
-  (unrealized (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k226">Item <a href="#t0">226</a>, Parent: <a href="#k186">186</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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='264.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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 639.720 264.960 Q 542.760 227.460 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y</title><circle cx='639.720' cy='264.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='639.720' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 539.760 114.960 Q 392.730 114.232 245.701 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 491.444 187.464 443.127 259.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w y))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 486.780 152.460 633.720 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x w x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x w x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 91.604 412.464 43.287 484.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w x-0 y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w x-0 y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w x-0 y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0 y))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 189.960 Q 236.931 189.407 433.903 263.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w x-0 y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 226</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (deflistener (exp (gen) (mul x w x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (6 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)) ((6 1) (4 0)))
-  (absent (y (mul x w x-0)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (label 226)
-  (parent 186)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k227">Item <a href="#t0">227</a>, Parent: <a href="#k187">187</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='114.960' x2='639.720' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='114.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='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='264.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 639.720 189.960 Q 542.760 152.460 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x-0</title><circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>x-0</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 114.960 Q 392.730 114.232 245.701 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 114.960 Q 586.740 114.960 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul w (rec x-0)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 227</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (6 0)) ((6 1) (4 0)))
-  (absent (x-0 (mul x (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (label 227)
-  (parent 187)
-  (unrealized (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k228">Item <a href="#t0">228</a>, Parent: <a href="#k188">188</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='114.960' x2='539.760' y2='189.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='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='264.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 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (rec x))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (one))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (one))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y (rec x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 228</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (4 0))
-  (label 228)
-  (parent 188)
-  (unrealized (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k229">Item <a href="#t0">229</a>, Parent: <a href="#k189">189</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='114.960' x2='539.760' y2='189.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='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='264.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 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w (rec x)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y (rec x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>plaindh 229</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x w) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (label 229)
-  (parent 189)
-  (unrealized (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k230">Item <a href="#t0">230</a>, Parent: <a href="#k192">192</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='114.960' x2='639.720' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='189.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='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='264.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 639.720 189.960 Q 542.760 152.460 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul w (rec x)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul w (rec x)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 386.820 189.960 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) w y-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) w y-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul w y-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y-0 (rec x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 230</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (absent (x (mul (rec y) w y-0)) (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (label 230)
-  (parent 192)
-  (unrealized (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k231">Item <a href="#t0">231</a>, Parent: <a href="#k193">193</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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='264.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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 639.720 264.960 Q 542.760 227.460 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y-0</title><circle cx='639.720' cy='264.960' r='6.000'/></g>
-  <g><title>y-0</title>
-   <circle style='fill: red;' cx='639.720' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 492.180 225.660 444.599 261.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 486.780 152.460 633.720 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y-0) (mul x w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul x w y))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 91.604 412.464 43.287 484.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w y y-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w y y-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w y y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 189.960 Q 236.931 189.407 433.903 263.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) (mul w y y-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 231</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h-0) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (6 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (absent (y-0 (mul x w y)) (y h-0) (y-0 h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (label 231)
-  (parent 193)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k232">Item <a href="#t0">232</a>, Parent: <a href="#k194">194</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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='264.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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 639.720 264.960 Q 542.760 227.460 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>y-0</title><circle cx='639.720' cy='264.960' r='6.000'/></g>
-  <g><title>y-0</title>
-   <circle style='fill: red;' cx='639.720' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 539.760 189.960 Q 586.740 189.960 633.720 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y-0)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul w (rec y-0)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul w (rec y-0)))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 387.420 225.660 435.001 261.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) w))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 91.604 412.464 43.287 484.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x w))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>n</title>
-   <circle style='fill: blue;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <g><title>(enc n (exp (gen) (mul x w)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 189.960 Q 236.931 189.407 433.903 263.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((h h-0) (y y-0))</title>
-   <text x='539.760' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((n n) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>plaindh 232</text></svg></div>
-
-<pre>(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (6 0)) ((6 1) (4 0)))
-  (absent (y-0 (mul x (rec y) w)) (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w (rec y-0)) (4 0))
-  (label 232)
-  (parent 194)
-  (unrealized (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
+<!-- CPSA 3.5.0 -->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Plain diffie-hellman protocol with challenge-response</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;Plain diffie-hellman protocol with challenge-response&quot;
+  (algebra diffie-hellman))
+(comment &quot;CPSA 3.5.0&quot;)
+(comment &quot;All input read from plaindh.scm&quot;)</pre>
+
+<p id="t0">Tree 0.</p>
+
+<div>
+ <svg
+  class='diagram' width='79.920pt' height='79.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 79.920 79.920' font-size='12.000'>
+  <text
+   x='39.960' y='26.040'
+   style='font-weight: bold; text-anchor: middle; fill: blue;'
+   onclick='window.open(&quot;#k0&quot;, &quot;_self&quot;)'>0</text>
+  </svg></div>
+
+<pre>(defprotocol plaindh diffie-hellman
+  (defrole init
+    (vars (x rndx) (y expt) (n text))
+    (trace (send (exp (gen) x)) (recv (exp (gen) y))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    (uniq-orig n)
+    (uniq-gen x))
+  (defrole resp
+    (vars (y rndx) (x expt) (n text))
+    (trace (recv (exp (gen) x)) (send (exp (gen) y))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    (uniq-gen y)
+    (absent (y (exp (gen) x))))
+  (comment &quot;Diffie-hellman key exchange followed by an encryption&quot;))</pre>
+
+<p id="k0">Item <a href="#t0">0</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>n</title>
+   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
+  <g><title>(enc n (exp (gen) (mul x y)))</title>
+   <circle cx='39.960' cy='264.960' r='6.000'/></g>
+  <g><title>(exp (gen) y)</title>
+   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((n n) (x x) (y y))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='39.960' y='39.960'
+   style='text-anchor: middle;'>plaindh 0 (realized)</text></svg></div>
+
+<pre>(defskeleton plaindh
+  (vars (n text) (x rndx) (y expt))
+  (defstrand init 4 (n n) (x x) (y y))
+  (uniq-gen x)
+  (uniq-orig n)
+  (label 0)
+  (unrealized)
+  (shape)
+  (maps ((0) ((x x) (y y) (n n))))
+  (origs (n (0 2))))</pre>
 
 </body>
 </html>
diff --git a/doc/examples/priority_test.xhtml b/doc/examples/priority_test.xhtml
--- a/doc/examples/priority_test.xhtml
+++ b/doc/examples/priority_test.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Receive priority test protocol</title>
@@ -11,7 +11,7 @@
 <body>
 
 <pre>(herald &quot;Receive priority test protocol&quot;)
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from priority_test.scm&quot;)</pre>
 
 <p id="top">Trees: <a href="#t0">0</a> <a href="#t3">3</a>.</p>
diff --git a/doc/examples/station.scm b/doc/examples/station.scm
--- a/doc/examples/station.scm
+++ b/doc/examples/station.scm
@@ -14,18 +14,20 @@
 
 (defprotocol station-to-station diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (a b name))
+    (vars (x rndx) (y expt) (a b name))
     (trace
      (send (exp (gen) x))
-     (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-     (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
+     (recv (cat (exp (gen) y)
+		(enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x)))))
+     (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (a b name))
+    (vars (y rndx) (x expt) (a b name))
     (trace
-     (recv h)
-     (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-     (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
+     (recv (exp (gen) x))
+     (send (cat (exp (gen) y)
+		(enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y)))))
+     (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))))
     (uniq-gen y))
 )
 
@@ -43,31 +45,35 @@
 
 (defprotocol station-weak diffie-hellman
   (defrole weak-init
-    (vars (x expn) (h base) (a b name))
+    (vars (x rndx) (y expt) (a b name))
     (trace
      (send (exp (gen) x))
-     (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-     (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
-  )
+     (recv (cat (exp (gen) y)
+		(enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x)))))
+     (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))
+					;(uniq-gen x)
+    )
   (defrole weak-resp
-    (vars (y expn) (h base) (a b name))
+    (vars (y rndx) (x expt) (a b name))
     (trace
-     (recv h)
-     (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-     (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    (absent (y h))
+     (recv (exp (gen) x))
+     (send (cat (exp (gen) y)
+		(enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y)))))
+     (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))))
+					;    (uniq-gen y)
+     (absent (y (exp (gen) x)))
     )
 )
 
 (defskeleton station-weak
-  (vars (a b name) (x expn))
+  (vars (a b name) (x rndx))
   (defstrand weak-init 3 (a a) (b b) (x x))
   (uniq-gen x)
   (non-orig (privk b) (privk a))
 )
 
 (defskeleton station-weak
-  (vars (a b name) (y expn))
+  (vars (a b name) (y rndx))
   (defstrand weak-resp 3 (a a) (b b) (y y))
   (uniq-gen y)
   (non-orig (privk a) (privk b))
diff --git a/doc/examples/station.xhtml b/doc/examples/station.xhtml
--- a/doc/examples/station.xhtml
+++ b/doc/examples/station.xhtml
@@ -1,15235 +1,2392 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>Station-to-station protocol</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;Station-to-station protocol&quot; (algebra diffie-hellman))
-(comment &quot;CPSA 3.4.0&quot;)
-(comment &quot;All input read from station.scm&quot;)</pre>
-
-<p id="top">Trees: <a href="#t0">0</a> <a href="#t67">67</a> <a href="#t96">96</a> <a href="#t127">127</a>.</p>
-
-<p id="t0">Tree <a href="#top">0</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='429.360pt' height='3154.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 429.360 3154.920' font-size='12.000'>
-  <text
-   x='239.640' y='3101.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k29&quot;, &quot;_self&quot;)'>29</text>
-  <line
-   x1='189.720' y1='2852.460' x2='239.640' y2='3114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='3026.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k28&quot;, &quot;_self&quot;)'>28</text>
-  <line
-   x1='189.720' y1='2852.460' x2='239.640' y2='3039.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2951.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k66&quot;, &quot;_self&quot;)'>66</text>
-  <line
-   x1='339.480' y1='2777.460' x2='389.400' y2='2964.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2876.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k65&quot;, &quot;_self&quot;)'>65</text>
-  <line
-   x1='339.480' y1='2777.460' x2='389.400' y2='2889.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2801.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k64&quot;, &quot;_self&quot;)'>64</text>
-  <line
-   x1='339.480' y1='2777.460' x2='389.400' y2='2814.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2726.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k63&quot;, &quot;_self&quot;)'>63</text>
-  <line
-   x1='339.480' y1='2777.460' x2='389.400' y2='2739.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2651.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k62&quot;, &quot;_self&quot;)'>62</text>
-  <line
-   x1='339.480' y1='2777.460' x2='389.400' y2='2664.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2576.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k61&quot;, &quot;_self&quot;)'>61</text>
-  <line
-   x1='339.480' y1='2777.460' x2='389.400' y2='2589.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2763.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k39&quot;, &quot;_self&quot;)'>39</text>
-  <line
-   x1='289.560' y1='2777.460' x2='339.480' y2='2777.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='2763.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k34&quot;, &quot;_self&quot;)'>34</text>
-  <line
-   x1='239.640' y1='2777.460' x2='289.560' y2='2777.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='2763.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k27&quot;, &quot;_self&quot;)'>27</text>
-  <line
-   x1='189.720' y1='2852.460' x2='239.640' y2='2777.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='2838.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k14&quot;, &quot;_self&quot;)'>14</text>
-  <line
-   x1='139.800' y1='1952.460' x2='189.720' y2='2852.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='2501.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k26&quot;, &quot;_self&quot;)'>26</text>
-  <line
-   x1='189.720' y1='2102.460' x2='239.640' y2='2514.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2426.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k60&quot;, &quot;_self&quot;)'>60</text>
-  <line
-   x1='339.480' y1='2252.460' x2='389.400' y2='2439.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2351.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k59&quot;, &quot;_self&quot;)'>59</text>
-  <line
-   x1='339.480' y1='2252.460' x2='389.400' y2='2364.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2276.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k58&quot;, &quot;_self&quot;)'>58</text>
-  <line
-   x1='339.480' y1='2252.460' x2='389.400' y2='2289.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2201.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k57&quot;, &quot;_self&quot;)'>57</text>
-  <line
-   x1='339.480' y1='2252.460' x2='389.400' y2='2214.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2126.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k56&quot;, &quot;_self&quot;)'>56</text>
-  <line
-   x1='339.480' y1='2252.460' x2='389.400' y2='2139.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='2051.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k55&quot;, &quot;_self&quot;)'>55</text>
-  <line
-   x1='339.480' y1='2252.460' x2='389.400' y2='2064.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='2238.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k38&quot;, &quot;_self&quot;)'>38</text>
-  <line
-   x1='289.560' y1='2252.460' x2='339.480' y2='2252.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='2238.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k33&quot;, &quot;_self&quot;)'>33</text>
-  <line
-   x1='239.640' y1='2252.460' x2='289.560' y2='2252.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='2238.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k25&quot;, &quot;_self&quot;)'>25</text>
-  <line
-   x1='189.720' y1='2102.460' x2='239.640' y2='2252.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1976.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k54&quot;, &quot;_self&quot;)'>54</text>
-  <line
-   x1='339.480' y1='1839.960' x2='389.400' y2='1989.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1901.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k53&quot;, &quot;_self&quot;)'>53</text>
-  <line
-   x1='339.480' y1='1839.960' x2='389.400' y2='1914.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1826.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k52&quot;, &quot;_self&quot;)'>52</text>
-  <line
-   x1='339.480' y1='1839.960' x2='389.400' y2='1839.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1751.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k51&quot;, &quot;_self&quot;)'>51</text>
-  <line
-   x1='339.480' y1='1839.960' x2='389.400' y2='1764.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1676.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k50&quot;, &quot;_self&quot;)'>50</text>
-  <line
-   x1='339.480' y1='1839.960' x2='389.400' y2='1689.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='1826.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k37&quot;, &quot;_self&quot;)'>37</text>
-  <line
-   x1='289.560' y1='1839.960' x2='339.480' y2='1839.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='1826.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k32&quot;, &quot;_self&quot;)'>32</text>
-  <line
-   x1='239.640' y1='1839.960' x2='289.560' y2='1839.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1826.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k24&quot;, &quot;_self&quot;)'>24</text>
-  <line
-   x1='189.720' y1='2102.460' x2='239.640' y2='1839.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='2088.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k13&quot;, &quot;_self&quot;)'>13</text>
-  <line
-   x1='139.800' y1='1952.460' x2='189.720' y2='2102.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1601.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k23&quot;, &quot;_self&quot;)'>23</text>
-  <line
-   x1='189.720' y1='1427.460' x2='239.640' y2='1614.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;#k49&quot;, &quot;_self&quot;)'>49</text>
-  <line
-   x1='339.480' y1='1389.960' x2='389.400' y2='1539.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1451.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k48&quot;, &quot;_self&quot;)'>48</text>
-  <line
-   x1='339.480' y1='1389.960' x2='389.400' 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;#k47&quot;, &quot;_self&quot;)'>47</text>
-  <line
-   x1='339.480' y1='1389.960' x2='389.400' y2='1389.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;#k46&quot;, &quot;_self&quot;)'>46</text>
-  <line
-   x1='339.480' y1='1389.960' x2='389.400' y2='1314.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1226.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k45&quot;, &quot;_self&quot;)'>45</text>
-  <line
-   x1='339.480' y1='1389.960' x2='389.400' y2='1239.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;#k36&quot;, &quot;_self&quot;)'>36</text>
-  <line
-   x1='289.560' y1='1389.960' x2='339.480' y2='1389.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='1376.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k31&quot;, &quot;_self&quot;)'>31</text>
-  <line
-   x1='239.640' y1='1389.960' x2='289.560' y2='1389.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1376.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k22&quot;, &quot;_self&quot;)'>22</text>
-  <line
-   x1='189.720' y1='1427.460' x2='239.640' y2='1389.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='1413.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k12&quot;, &quot;_self&quot;)'>12</text>
-  <line
-   x1='139.800' y1='1952.460' x2='189.720' y2='1427.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1151.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k21&quot;, &quot;_self&quot;)'>21</text>
-  <line
-   x1='189.720' y1='977.460' x2='239.640' y2='1164.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1076.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k44&quot;, &quot;_self&quot;)'>44</text>
-  <line
-   x1='339.480' y1='939.960' x2='389.400' y2='1089.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1001.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k43&quot;, &quot;_self&quot;)'>43</text>
-  <line
-   x1='339.480' y1='939.960' x2='389.400' y2='1014.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k42&quot;, &quot;_self&quot;)'>42</text>
-  <line
-   x1='339.480' y1='939.960' x2='389.400' y2='939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='851.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k41&quot;, &quot;_self&quot;)'>41</text>
-  <line
-   x1='339.480' y1='939.960' x2='389.400' y2='864.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='776.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k40&quot;, &quot;_self&quot;)'>40</text>
-  <line
-   x1='339.480' y1='939.960' x2='389.400' y2='789.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k35&quot;, &quot;_self&quot;)'>35</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: red;'
-   onclick='window.open(&quot;#k30&quot;, &quot;_self&quot;)'>30</text>
-  <line
-   x1='239.640' y1='939.960' x2='289.560' y2='939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k20&quot;, &quot;_self&quot;)'>20</text>
-  <line
-   x1='189.720' y1='977.460' x2='239.640' y2='939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='963.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k11&quot;, &quot;_self&quot;)'>11</text>
-  <line
-   x1='139.800' y1='1952.460' x2='189.720' y2='977.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='1938.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k9&quot;, &quot;_self&quot;)'>9</text>
-  <line
-   x1='89.880' y1='1802.460' x2='139.800' y2='1952.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='701.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k8&quot;, &quot;_self&quot;)'>8</text>
-  <line
-   x1='89.880' y1='1802.460' x2='139.800' y2='714.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='626.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k7&quot;, &quot;_self&quot;)'>7</text>
-  <line
-   x1='89.880' y1='1802.460' x2='139.800' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='551.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k6&quot;, &quot;_self&quot;)'>6</text>
-  <line
-   x1='89.880' y1='1802.460' x2='139.800' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='476.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k5&quot;, &quot;_self&quot;)'>5</text>
-  <line
-   x1='89.880' y1='1802.460' x2='139.800' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='1788.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k3&quot;, &quot;_self&quot;)'>3</text>
-  <line
-   x1='39.960' y1='1577.460' x2='89.880' y2='1802.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='401.040'
-   style='font-weight: bold; text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k2&quot;, &quot;_self&quot;)'>2</text>
-  <line
-   x1='39.960' y1='1577.460' x2='89.880' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='326.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k19&quot;, &quot;_self&quot;)'>19</text>
-  <line
-   x1='189.720' y1='189.960' x2='239.640' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k18&quot;, &quot;_self&quot;)'>18</text>
-  <line
-   x1='189.720' y1='189.960' x2='239.640' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k17&quot;, &quot;_self&quot;)'>17</text>
-  <line
-   x1='189.720' y1='189.960' x2='239.640' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='101.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k16&quot;, &quot;_self&quot;)'>16</text>
-  <line
-   x1='189.720' y1='189.960' x2='239.640' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='26.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k15&quot;, &quot;_self&quot;)'>15</text>
-  <line
-   x1='189.720' y1='189.960' x2='239.640' y2='39.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k10&quot;, &quot;_self&quot;)'>10</text>
-  <line
-   x1='139.800' y1='189.960' x2='189.720' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k4&quot;, &quot;_self&quot;)'>4</text>
-  <line
-   x1='89.880' y1='189.960' x2='139.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k1&quot;, &quot;_self&quot;)'>1</text>
-  <line
-   x1='39.960' y1='1577.460' x2='89.880' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='39.960' y='1563.540' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k0&quot;, &quot;_self&quot;)'>0</text>
-  </svg></div>
-
-<pre>(defprotocol station-to-station diffie-hellman
-  (defrole init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
-    (uniq-gen x))
-  (defrole resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    (uniq-gen y)
-    (absent (y h))))</pre>
-
-<p id="k0">Item <a href="#t0">0</a>, Children: <a href="#k1">1</a> <a href="#k2">2</a> <a href="#k3">3</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='79.920pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 79.920 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <g><title>(enc (enc (exp (gen) x) h (privk a)) (exp h x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='39.960' y='39.960'
-   style='text-anchor: middle;'>station-to-station 0</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (h base) (x expn))
-  (defstrand init 3 (a a) (b b) (h h) (x x))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (label 0)
-  (unrealized (0 1))
-  (origs)
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k1">Item <a href="#t0">1</a>, Parent: <a href="#k0">0</a>, Child: <a href="#k4">4</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='189.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-to-station 1</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (1 1)) ((1 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-strand init 3)
-    (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-      (exp (gen) (mul x x-0))) (0 1))
-  (label 1)
-  (parent 0)
-  (unrealized (1 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k2">Item <a href="#t0">2</a>, Parent: <a href="#k0">0</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-to-station 2 (realized)</text>
-  </svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand resp 2)
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-      (exp (gen) (mul x y))) (0 1))
-  (label 2)
-  (parent 0)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (x x) (h (exp (gen) y)))))
-  (origs))</pre>
-
-<p id="k3">Item <a href="#t0">3</a>, Parent: <a href="#k0">0</a>, Children: <a href="#k5">5</a> <a href="#k6">6</a> <a href="#k7">7</a> <a href="#k8">8</a> <a href="#k9">9</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp h x)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp h x)</title>
-   <circle style='fill: red;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>(enc (enc (exp (gen) x) h (privk a)) (exp h x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-to-station 3</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (h base) (x expn))
-  (defstrand init 3 (a a) (b b) (h h) (x x))
-  (deflistener (exp h x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation encryption-test (added-listener (exp h x))
-    (enc (enc h (exp (gen) x) (privk b)) (exp h x)) (0 1))
-  (label 3)
-  (parent 0)
-  (unrealized (0 1) (1 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k4">Item <a href="#t0">4</a>, Parent: <a href="#k1">1</a>, Child: <a href="#k10">10</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='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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 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>(exp (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 186.900 114.960 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-to-station 4</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((1 0) (2 0)) ((1 2) (0 1)) ((2 1) (1 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
-    (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-      (exp (gen) (mul x x-0))) (1 1))
-  (label 4)
-  (parent 1)
-  (unrealized (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k5">Item <a href="#t0">5</a>, Parent: <a href="#k3">3</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='189.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (rec x)) (privk a)) (gen))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (rec x)) (enc (enc (exp (gen) (rec x)) (exp (gen) x) (privk b)) (gen)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) (rec x))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-to-station 5</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen)
-    (1 0))
-  (label 5)
-  (parent 3)
-  (unrealized (0 1))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k6">Item <a href="#t0">6</a>, Parent: <a href="#k3">3</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (gen) (privk a)) (exp (gen) x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (gen) (enc (enc (gen) (exp (gen) x) (privk b)) (exp (gen) x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (gen)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-to-station 6</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x expn))
-  (defstrand init 3 (a a) (b b) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
-  (label 6)
-  (parent 3)
-  (unrealized (0 1))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k7">Item <a href="#t0">7</a>, Parent: <a href="#k3">3</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='279.840pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 279.840 304.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='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (mul (rec x) x-0)) (privk a)) (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) x-0)) (enc (enc (exp (gen) (mul (rec x) x-0)) (exp (gen) x) (privk b)) (exp (gen) x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g>
-   <title>((a a) (b b) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-to-station 7</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
-  (label 7)
-  (parent 3)
-  (unrealized (0 1))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k8">Item <a href="#t0">8</a>, Parent: <a href="#k3">3</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='189.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='189.960' x2='39.960' y2='339.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (mul (rec x) y)) (privk a)) (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) y)) (enc (enc (exp (gen) (mul (rec x) y)) (exp (gen) x) (privk b)) (exp (gen) y)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-to-station 8</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (h base) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (1 0))
-  (label 8)
-  (parent 3)
-  (unrealized (0 1))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k9">Item <a href="#t0">9</a>, Parent: <a href="#k3">3</a>, Children: <a href="#k11">11</a> <a href="#k12">12</a> <a href="#k13">13</a> <a href="#k14">14</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='189.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 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>(cat (exp h (mul x (rec w))) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp h (mul x (rec w))) w)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp h x)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp h x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(enc (enc (exp (gen) x) h (privk a)) (exp h x))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-to-station 9</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (h base) (x expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h h) (x x))
-  (deflistener (exp h x))
-  (deflistener (cat (exp h (mul x (rec w))) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w))
-    (exp h x) (1 0))
-  (label 9)
-  (parent 3)
-  (unrealized (0 1) (2 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k10">Item <a href="#t0">10</a>, Parent: <a href="#k4">4</a>, Children: <a href="#k15">15</a> <a href="#k16">16</a> <a href="#k17">17</a> <a href="#k18">18</a> <a href="#k19">19</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(exp (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 236.880 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 10</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x x-0)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
-    (exp (gen) (mul x x-0)) (2 0))
-  (label 10)
-  (parent 4)
-  (unrealized (3 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k11">Item <a href="#t0">11</a>, Parent: <a href="#k9">9</a>, Children: <a href="#k20">20</a> <a href="#k21">21</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='189.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 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>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w)) (privk a)) (exp (gen) w))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) w)) (enc (enc (exp (gen) (mul (rec x) w)) (exp (gen) x) (privk b)) (exp (gen) w)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul (rec x) w))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-to-station 11</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (2 0))
-  (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w))))
-    (gen) (2 0))
-  (label 11)
-  (parent 9)
-  (unrealized (0 1))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k12">Item <a href="#t0">12</a>, Parent: <a href="#k9">9</a>, Children: <a href="#k22">22</a> <a href="#k23">23</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='189.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 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>(cat (exp (gen) x) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) w) (privk a)) (exp (gen) (mul w x)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) w) (enc (enc (exp (gen) w) (exp (gen) x) (privk b)) (exp (gen) (mul w x))))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) w)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-to-station 12</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (w expr) (x expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (label 12)
-  (parent 9)
-  (unrealized (0 1))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k13">Item <a href="#t0">13</a>, Parent: <a href="#k9">9</a>, Children: <a href="#k24">24</a> <a href="#k25">25</a> <a href="#k26">26</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='114.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='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 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w x-0)) (privk a)) (exp (gen) (mul w x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) w x-0)) (enc (enc (exp (gen) (mul (rec x) w x-0)) (exp (gen) x) (privk b)) (exp (gen) (mul w x-0))))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g>
-   <title>((a a) (b b) (h (exp (gen) (mul (rec x) w x-0))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 13</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w x-0)))
-    (x x))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (label 13)
-  (parent 9)
-  (unrealized (0 1))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k14">Item <a href="#t0">14</a>, Parent: <a href="#k9">9</a>, Children: <a href="#k27">27</a> <a href="#k28">28</a> <a href="#k29">29</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='264.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w y)) (privk a)) (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) w y)) (enc (enc (exp (gen) (mul (rec x) w y)) (exp (gen) x) (privk b)) (exp (gen) (mul w y))))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g>
-   <title>((a a) (b b) (h (exp (gen) (mul (rec x) w y))) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 14</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0))
-  (label 14)
-  (parent 9)
-  (unrealized (0 1))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k15">Item <a href="#t0">15</a>, Parent: <a href="#k10">10</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(exp (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 236.880 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 15</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x x-0)
-  (precur (3 0))
-  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
-    (gen) (3 0))
-  (label 15)
-  (parent 10)
-  (unrealized (2 0) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k16">Item <a href="#t0">16</a>, Parent: <a href="#k10">10</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(exp (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 236.880 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x-0)) (x x))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 16</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (3 0))
-  (label 16)
-  (parent 10)
-  (unrealized (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k17">Item <a href="#t0">17</a>, Parent: <a href="#k10">10</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(exp (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 236.880 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 17</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-1) (3 0))
-  (label 17)
-  (parent 10)
-  (unrealized (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k18">Item <a href="#t0">18</a>, Parent: <a href="#k10">10</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='114.960' x2='439.800' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 114.960 Q 392.820 114.960 345.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle style='fill: red;' cx='339.840' cy='114.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>(exp (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 236.880 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-to-station 18</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)) ((4 0) (3 0)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
-  (label 18)
-  (parent 10)
-  (unrealized (2 0) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k19">Item <a href="#t0">19</a>, Parent: <a href="#k10">10</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='114.960' x2='439.800' y2='189.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='189.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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-1)) (exp h y)))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.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>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 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>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 236.880 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((b b-1) (h h) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-to-station 19</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (defstrand resp 2 (b b-1) (h h) (y y))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (label 19)
-  (parent 10)
-  (unrealized (2 0) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k20">Item <a href="#t0">20</a>, Parent: <a href="#k11">11</a>, Child: <a href="#k30">30</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='264.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='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 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.990 114.232 334.019 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 20</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-strand init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (label 20)
-  (parent 11)
-  (unrealized (1 0) (2 0) (3 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k21">Item <a href="#t0">21</a>, Parent: <a href="#k11">11</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='264.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 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (gen) (mul x y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x y))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 21</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (label 21)
-  (parent 11)
-  (unrealized (1 0) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k22">Item <a href="#t0">22</a>, Parent: <a href="#k12">12</a>, Child: <a href="#k31">31</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='264.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='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 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) x-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) x-0)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.990 114.232 334.019 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 22</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-strand init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (label 22)
-  (parent 12)
-  (unrealized (2 0) (3 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k23">Item <a href="#t0">23</a>, Parent: <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='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='264.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 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) x) y)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) y)</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 23</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x) y))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (label 23)
-  (parent 12)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k24">Item <a href="#t0">24</a>, Parent: <a href="#k13">13</a>, Child: <a href="#k32">32</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='264.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='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 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.990 114.232 334.019 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 24</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (displaced 3 4 init 3)
-    (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1))
-  (label 24)
-  (parent 13)
-  (unrealized (2 0) (3 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k25">Item <a href="#t0">25</a>, Parent: <a href="#k13">13</a>, Child: <a href="#k33">33</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.931 114.407 433.903 188.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-1)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-to-station 25</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand init 1 (x x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation encryption-test (added-strand init 3)
-    (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1))
-  (label 25)
-  (parent 13)
-  (unrealized (1 0) (2 0) (4 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k26">Item <a href="#t0">26</a>, Parent: <a href="#k13">13</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='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) y))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-to-station 26</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-  (defstrand init 1 (x x-0))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0))
-    ((4 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0 y)
-  (operation encryption-test (added-strand resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (label 26)
-  (parent 13)
-  (unrealized (1 0) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k27">Item <a href="#t0">27</a>, Parent: <a href="#k14">14</a>, Child: <a href="#k34">34</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='114.960' x2='439.800' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 439.800 264.960 Q 242.829 264.407 45.857 338.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.649 113.906 245.498 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</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-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((a b) (b b-1) (h (exp (gen) x)) (x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-to-station 27</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x y x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 2) (0 1)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (operation encryption-test (added-strand init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (label 27)
-  (parent 14)
-  (unrealized (1 0) (2 0) (4 1))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k28">Item <a href="#t0">28</a>, Parent: <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='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='264.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 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-to-station 28</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation encryption-test (displaced 4 3 resp 2)
-    (enc (exp (gen) y-0) (exp (gen) x) (privk b-0)) (0 1))
-  (label 28)
-  (parent 14)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k29">Item <a href="#t0">29</a>, Parent: <a href="#k14">14</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='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) y-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) y-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y-0) (privk a)) (exp (gen) (mul x y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-to-station 29</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (h base) (x y y-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y-0)) (x x))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y-0))
-  (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (operation encryption-test (added-strand resp 2)
-    (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (0 1))
-  (label 29)
-  (parent 14)
-  (unrealized (1 0) (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k30">Item <a href="#t0">30</a>, Parent: <a href="#k20">20</a>, Child: <a href="#k35">35</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='264.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='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 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-to-station 30</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
-    (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-      (exp (gen) (mul x x-0))) (3 1))
-  (label 30)
-  (parent 20)
-  (unrealized (1 0) (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k31">Item <a href="#t0">31</a>, Parent: <a href="#k22">22</a>, Child: <a href="#k36">36</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='264.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='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 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) x-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) x-0)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-to-station 31</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
-    (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-      (exp (gen) (mul x x-0))) (3 1))
-  (label 31)
-  (parent 22)
-  (unrealized (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k32">Item <a href="#t0">32</a>, Parent: <a href="#k24">24</a>, Child: <a href="#k37">37</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='264.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='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 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 386.820 114.960 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-to-station 32</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
-    (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-      (exp (gen) (mul x x-0))) (3 1))
-  (label 32)
-  (parent 24)
-  (unrealized (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k33">Item <a href="#t0">33</a>, Parent: <a href="#k25">25</a>, Child: <a href="#k38">38</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='579.720pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 579.720 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='539.760' y1='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 486.780 114.960 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-1)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 33</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand init 1 (x x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1))
-  (deflistener (exp (gen) (mul x x-1)))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (5 0)) ((4 2) (0 1))
-    ((5 1) (4 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-1)))
-    (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0))
-      (exp (gen) (mul x x-1))) (4 1))
-  (label 33)
-  (parent 25)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k34">Item <a href="#t0">34</a>, Parent: <a href="#k27">27</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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.829 264.407 45.857 338.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.649 113.906 245.498 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 486.780 114.960 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-1) (h (exp (gen) x)) (x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 34</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x y x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (5 0)) ((4 2) (0 1))
-    ((5 1) (4 1)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
-    (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-      (exp (gen) (mul x x-0))) (4 1))
-  (label 34)
-  (parent 27)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k35">Item <a href="#t0">35</a>, Parent: <a href="#k30">30</a>, Children: <a href="#k40">40</a> <a href="#k41">41</a> <a href="#k42">42</a> <a href="#k43">43</a> <a href="#k44">44</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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 35</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
-    (exp (gen) (mul x x-0)) (4 0))
-  (label 35)
-  (parent 30)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k36">Item <a href="#t0">36</a>, Parent: <a href="#k31">31</a>, Children: <a href="#k45">45</a> <a href="#k46">46</a> <a href="#k47">47</a> <a href="#k48">48</a> <a href="#k49">49</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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) x-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) x-0)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 36</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
-    (exp (gen) (mul x x-0)) (4 0))
-  (label 36)
-  (parent 31)
-  (unrealized (2 0) (5 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k37">Item <a href="#t0">37</a>, Parent: <a href="#k32">32</a>, Children: <a href="#k50">50</a> <a href="#k51">51</a> <a href="#k52">52</a> <a href="#k53">53</a> <a href="#k54">54</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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 37</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
-    (exp (gen) (mul x x-0)) (4 0))
-  (label 37)
-  (parent 32)
-  (unrealized (2 0) (5 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k38">Item <a href="#t0">38</a>, Parent: <a href="#k33">33</a>, Children: <a href="#k55">55</a> <a href="#k56">56</a> <a href="#k57">57</a> <a href="#k58">58</a> <a href="#k59">59</a> <a href="#k60">60</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='114.960' x2='639.720' y2='189.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='114.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul x x-1 (rec w))) w)</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul x x-1 (rec w))) w)</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.760 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-1)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 38</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand init 1 (x x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) (mul x x-1 (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-1 (rec w))) w))
-    (exp (gen) (mul x x-1)) (5 0))
-  (label 38)
-  (parent 33)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;6 in cohort - 6 not yet seen&quot;))</pre>
-
-<p id="k39">Item <a href="#t0">39</a>, Parent: <a href="#k34">34</a>, Children: <a href="#k61">61</a> <a href="#k62">62</a> <a href="#k63">63</a> <a href="#k64">64</a> <a href="#k65">65</a> <a href="#k66">66</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='114.960' x2='639.720' y2='189.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='114.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 639.720 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.649 113.906 245.498 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.760 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-1) (h (exp (gen) x)) (x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 39</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x y x-0 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x y x-0)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
-    (exp (gen) (mul x x-0)) (5 0))
-  (label 39)
-  (parent 34)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;6 in cohort - 6 not yet seen&quot;))</pre>
-
-<p id="k40">Item <a href="#t0">40</a>, Parent: <a href="#k35">35</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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 40</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
-    (gen) (5 0))
-  (label 40)
-  (parent 35)
-  (unrealized (1 0) (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k41">Item <a href="#t0">41</a>, Parent: <a href="#k35">35</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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x-0)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 41</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-1) (5 0))
-  (label 41)
-  (parent 35)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k42">Item <a href="#t0">42</a>, Parent: <a href="#k35">35</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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 42</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-1) (5 0))
-  (label 42)
-  (parent 35)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k43">Item <a href="#t0">43</a>, Parent: <a href="#k35">35</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='114.960' x2='639.720' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='189.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='114.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='264.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 114.960 Q 592.740 114.960 545.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='639.720' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 43</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 0) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (5 0))
-  (label 43)
-  (parent 35)
-  (unrealized (1 0) (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k44">Item <a href="#t0">44</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='114.960' x2='639.720' y2='189.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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.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='264.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 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-1)) (exp h y)))</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 392.820 339.960 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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <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>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.991 113.906 534.142 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.893 114.515 533.826 189.070'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b-1) (h h) (y y))</title>
-   <text x='639.720' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 44</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (defstrand resp 2 (b b-1) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (5 0))
-  (label 44)
-  (parent 35)
-  (unrealized (1 0) (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k45">Item <a href="#t0">45</a>, Parent: <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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) x-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) x-0)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 45</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
-    (gen) (5 0))
-  (label 45)
-  (parent 36)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k46">Item <a href="#t0">46</a>, Parent: <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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x-0)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 46</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-1) (5 0))
-  (label 46)
-  (parent 36)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k47">Item <a href="#t0">47</a>, Parent: <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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) x-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) x-0)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 47</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-1) (5 0))
-  (label 47)
-  (parent 36)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k48">Item <a href="#t0">48</a>, Parent: <a href="#k36">36</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='114.960' x2='639.720' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='189.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='114.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='264.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 114.960 Q 592.740 114.960 545.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) x-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) x-0)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='639.720' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 48</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 0) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (5 0))
-  (label 48)
-  (parent 36)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k49">Item <a href="#t0">49</a>, Parent: <a href="#k36">36</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='114.960' x2='639.720' y2='189.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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.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='264.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 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-1)) (exp h y)))</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 392.820 339.960 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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <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>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.991 113.906 534.142 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) x-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) x-0)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.893 114.515 533.826 189.070'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b-1) (h h) (y y))</title>
-   <text x='639.720' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 49</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (defstrand resp 2 (b b-1) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (5 0))
-  (label 49)
-  (parent 36)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k50">Item <a href="#t0">50</a>, Parent: <a href="#k37">37</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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 50</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
-    (gen) (5 0))
-  (label 50)
-  (parent 37)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k51">Item <a href="#t0">51</a>, Parent: <a href="#k37">37</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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) x-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) x-0)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x-0)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 51</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-1) (5 0))
-  (label 51)
-  (parent 37)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k52">Item <a href="#t0">52</a>, Parent: <a href="#k37">37</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='114.960' x2='539.760' y2='189.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='114.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='264.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 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-to-station 52</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-1) (5 0))
-  (label 52)
-  (parent 37)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k53">Item <a href="#t0">53</a>, Parent: <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='114.960' x2='639.720' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='539.760' y1='114.960' x2='539.760' y2='189.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='114.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='264.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 114.960 Q 592.740 114.960 545.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 189.960 Q 492.780 189.960 445.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.800 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='639.720' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 53</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 0) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (5 0))
-  (label 53)
-  (parent 37)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k54">Item <a href="#t0">54</a>, Parent: <a href="#k37">37</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='114.960' x2='639.720' y2='189.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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.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='264.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 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-1)) (exp h y)))</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 392.820 339.960 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>(exp (gen) (mul x x-0))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <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>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 436.991 113.906 534.142 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.893 114.515 533.826 189.070'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b-1) (h h) (y y))</title>
-   <text x='639.720' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 54</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (defstrand resp 2 (b b-1) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (5 0))
-  (label 54)
-  (parent 37)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k55">Item <a href="#t0">55</a>, Parent: <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='114.960' x2='639.720' y2='189.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='114.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x-0 x-1))</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x-0 x-1))</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x-0 x-1))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.760 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) x-0 x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) x-0 x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a)) (exp (gen) (mul x-0 x-1)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x-0)) (x x-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-1)) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 55</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-  (defstrand init 1 (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (gen) (mul x-0 x-1)))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test
-    (contracted (x-2 x-0) (x-3 x-1) (w (mul x-0 x-1))) (gen) (6 0))
-  (label 55)
-  (parent 38)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k56">Item <a href="#t0">56</a>, Parent: <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='114.960' x2='639.720' y2='189.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='114.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) x-0)</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) x-0)</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b)) (exp (gen) (mul x-0 x-1)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x-0 x-1))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.760 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) x-0 x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) x-0 x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk a)) (exp (gen) (mul x-0 x-1)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b)) (exp (gen) (mul x-0 x-1))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x-1)) (x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x-1))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 56</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x-1))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-  (defstrand init 1 (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-1)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-2) (6 0))
-  (label 56)
-  (parent 38)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k57">Item <a href="#t0">57</a>, Parent: <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='114.960' x2='639.720' y2='189.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='114.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.760 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 114.960 Q 486.780 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x-1))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 57</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (6 0)) ((4 0) (2 0)) ((4 0) (6 0))
-    ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (displaced 7 3 init 1) (exp (gen) x-2) (6 0))
-  (label 57)
-  (parent 38)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k58">Item <a href="#t0">58</a>, Parent: <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='114.960' x2='639.720' y2='189.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='114.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) x-0)</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) x-0)</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x-0 x-1))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.760 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) x-0 x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) x-0 x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a)) (exp (gen) (mul x-0 x-1)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x-0)) (x x-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-1)) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 58</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-  (defstrand init 1 (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (displaced 7 4 init 1) (exp (gen) x-2) (6 0))
-  (label 58)
-  (parent 38)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k59">Item <a href="#t0">59</a>, Parent: <a href="#k38">38</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='114.960' x2='739.680' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='639.720' y1='114.960' x2='639.720' y2='189.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='114.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='264.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 114.960 Q 692.700 114.960 645.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-2)</title>
-   <circle cx='739.680' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 639.720 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-2) (mul x-0 x-1 (rec x-2)))</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-2) (mul x-0 x-1 (rec x-2)))</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x-0 x-1))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.760 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) x-0 x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) x-0 x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.340 300.660 44.759 336.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a)) (exp (gen) (mul x-0 x-1)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-2))</title>
-   <text x='739.680' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x-0)) (x x-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-1)) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='389.820' y='39.960'
-   style='text-anchor: middle;'>station-to-station 59</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 x-2 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-  (defstrand init 1 (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x-2) (mul x-0 x-1 (rec x-2))))
-  (defstrand init 1 (x x-2))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)) ((7 0) (6 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1 x-2)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-2) (6 0))
-  (label 59)
-  (parent 38)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k60">Item <a href="#t0">60</a>, Parent: <a href="#k38">38</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='114.960' x2='739.680' y2='189.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='264.960' x2='539.760' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='264.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 189.960 Q 692.700 189.960 645.720 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-1)) (exp h y)))</title>
-   <circle cx='739.680' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='739.680' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 639.720 264.960 Q 592.740 264.960 545.760 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul x-0 x-1 (rec y)))</title>
-   <circle cx='639.720' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x-0 x-1 (rec y)))</title>
-   <circle style='fill: red;' cx='639.720' cy='189.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x-0 x-1))</title>
-   <circle cx='539.760' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle style='fill: red;' cx='539.760' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1)))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x-0 x-1))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.840 77.460 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.951 113.906 634.102 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul (rec x) x-0 x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul (rec x) x-0 x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 91.604 337.464 43.287 409.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x-0 x-1))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a)) (exp (gen) (mul x-0 x-1)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.863 114.588 633.766 189.215'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b-1) (h h) (y y))</title>
-   <text x='739.680' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x-0)) (x x-1))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-1)) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='389.820' y='39.960'
-   style='text-anchor: middle;'>station-to-station 60</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 x-1 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-  (defstrand init 1 (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) y) (mul x-0 x-1 (rec y))))
-  (defstrand resp 2 (b b-1) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)) ((7 1) (6 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1 y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (6 0))
-  (label 60)
-  (parent 38)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k61">Item <a href="#t0">61</a>, Parent: <a href="#k39">39</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='114.960' x2='639.720' y2='189.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='114.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 639.720 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.649 113.906 245.498 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.760 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) x x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) x x-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-1) (h (exp (gen) x)) (x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 61</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
-    (gen) (6 0))
-  (label 61)
-  (parent 39)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k62">Item <a href="#t0">62</a>, Parent: <a href="#k39">39</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='114.960' x2='639.720' y2='189.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='114.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 639.720 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-1)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.649 113.906 245.498 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.760 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) x x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) x x-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-1) (h (exp (gen) x-0)) (x x))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (x x-0))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 62</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-1) (6 0))
-  (label 62)
-  (parent 39)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k63">Item <a href="#t0">63</a>, Parent: <a href="#k39">39</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='114.960' x2='639.720' y2='189.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='114.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 639.720 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.649 113.906 245.498 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.760 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) x x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) x x-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-1) (h (exp (gen) x)) (x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 63</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (displaced 7 4 init 1) (exp (gen) x-1) (6 0))
-  (label 63)
-  (parent 39)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k64">Item <a href="#t0">64</a>, Parent: <a href="#k39">39</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='114.960' x2='739.680' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='639.720' y1='114.960' x2='639.720' y2='189.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='114.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 739.680 114.960 Q 692.700 114.960 645.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='739.680' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 639.720 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
-   <circle style='fill: red;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 242.880 302.460 45.960 339.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 114.960 Q 342.649 113.906 245.498 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 114.960 Q 536.760 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) x x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) x x-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 336.840 77.460 633.720 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-1))</title>
-   <text x='739.680' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a b) (b b-1) (h (exp (gen) x)) (x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='389.820' y='39.960'
-   style='text-anchor: middle;'>station-to-station 64</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)) ((7 0) (6 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen y x x-0 x-1)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (6 0))
-  (label 64)
-  (parent 39)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k65">Item <a href="#t0">65</a>, Parent: <a href="#k39">39</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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 639.720 264.960 Q 592.740 264.960 545.760 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle cx='639.720' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle style='fill: red;' cx='639.720' cy='189.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='539.760' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 189.960 Q 536.760 152.460 633.720 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 339.840 189.960 Q 486.780 152.460 633.720 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x x-0 (rec y)))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((a b) (b b-1) (h (exp (gen) x)) (x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='339.840' y='39.960'
-   style='text-anchor: middle;'>station-to-station 65</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (6 0)) ((4 0) (2 0)) ((4 0) (6 0))
-    ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 y)
-  (operation nonce-test (displaced 7 3 resp 2) (exp (gen) y-0) (6 0))
-  (label 65)
-  (parent 39)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k66">Item <a href="#t0">66</a>, Parent: <a href="#k39">39</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='114.960' x2='739.680' y2='189.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='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='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 739.680 189.960 Q 692.700 189.960 645.720 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) h-0 (privk b-2)) (exp h-0 y-0)))</title>
-   <circle cx='739.680' cy='189.960' r='6.000'/></g>
-  <g><title>h-0</title>
-   <circle style='fill: blue;' cx='739.680' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 639.720 264.960 Q 592.740 264.960 545.760 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul x x-0 (rec y-0)))</title>
-   <circle cx='639.720' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul x x-0 (rec y-0)))</title>
-   <circle style='fill: red;' cx='639.720' cy='189.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x x-0))</title>
-   <circle cx='539.760' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='539.760' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 439.800 414.960 Q 242.880 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>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 439.800 189.960 Q 536.760 152.460 633.720 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul (rec y) x x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul (rec y) x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='489.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((b b-2) (h h-0) (y y-0))</title>
-   <text x='739.680' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a b) (b b-1) (h (exp (gen) x)) (x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <text
-   x='389.820' y='39.960'
-   style='text-anchor: middle;'>station-to-station 66</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 b-2 name) (h h-0 base) (y x x-0 y-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x x-0 (rec y-0))))
-  (defstrand resp 2 (b b-2) (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)) ((7 1) (6 0)))
-  (absent (y-0 h-0) (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen y x x-0 y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (6 0))
-  (label 66)
-  (parent 39)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="t67">Tree <a href="#top">67</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='429.360pt' height='1204.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 429.360 1204.920' font-size='12.000'>
-  <text
-   x='239.640' y='1151.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k87&quot;, &quot;_self&quot;)'>87</text>
-  <line
-   x1='189.720' y1='1164.960' x2='239.640' y2='1164.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='1151.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k78&quot;, &quot;_self&quot;)'>78</text>
-  <line
-   x1='139.800' y1='864.960' x2='189.720' y2='1164.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1076.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k95&quot;, &quot;_self&quot;)'>95</text>
-  <line
-   x1='339.480' y1='939.960' x2='389.400' y2='1089.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='1001.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k94&quot;, &quot;_self&quot;)'>94</text>
-  <line
-   x1='339.480' y1='939.960' x2='389.400' y2='1014.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k93&quot;, &quot;_self&quot;)'>93</text>
-  <line
-   x1='339.480' y1='939.960' x2='389.400' y2='939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='851.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k92&quot;, &quot;_self&quot;)'>92</text>
-  <line
-   x1='339.480' y1='939.960' x2='389.400' y2='864.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='389.400' y='776.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k91&quot;, &quot;_self&quot;)'>91</text>
-  <line
-   x1='339.480' y1='939.960' x2='389.400' y2='789.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k90&quot;, &quot;_self&quot;)'>90</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: red;'
-   onclick='window.open(&quot;#k89&quot;, &quot;_self&quot;)'>89</text>
-  <line
-   x1='239.640' y1='902.460' x2='289.560' y2='939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='701.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k88&quot;, &quot;_self&quot;)'>88</text>
-  <line
-   x1='239.640' y1='902.460' x2='289.560' y2='714.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='888.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k86&quot;, &quot;_self&quot;)'>86</text>
-  <line
-   x1='189.720' y1='902.460' x2='239.640' y2='902.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='888.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k77&quot;, &quot;_self&quot;)'>77</text>
-  <line
-   x1='139.800' y1='864.960' x2='189.720' y2='902.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='626.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k85&quot;, &quot;_self&quot;)'>85</text>
-  <line
-   x1='189.720' y1='639.960' x2='239.640' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='626.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k76&quot;, &quot;_self&quot;)'>76</text>
-  <line
-   x1='139.800' y1='864.960' x2='189.720' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='551.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k84&quot;, &quot;_self&quot;)'>84</text>
-  <line
-   x1='189.720' y1='564.960' x2='239.640' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='551.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k75&quot;, &quot;_self&quot;)'>75</text>
-  <line
-   x1='139.800' y1='864.960' x2='189.720' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='851.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k73&quot;, &quot;_self&quot;)'>73</text>
-  <line
-   x1='89.880' y1='827.460' x2='139.800' y2='864.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='476.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k72&quot;, &quot;_self&quot;)'>72</text>
-  <line
-   x1='89.880' y1='827.460' x2='139.800' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='813.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k69&quot;, &quot;_self&quot;)'>69</text>
-  <line
-   x1='39.960' y1='602.460' x2='89.880' y2='827.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='401.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k83&quot;, &quot;_self&quot;)'>83</text>
-  <line
-   x1='189.720' y1='264.960' x2='239.640' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='326.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k82&quot;, &quot;_self&quot;)'>82</text>
-  <line
-   x1='189.720' y1='264.960' x2='239.640' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k81&quot;, &quot;_self&quot;)'>81</text>
-  <line
-   x1='189.720' y1='264.960' x2='239.640' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k80&quot;, &quot;_self&quot;)'>80</text>
-  <line
-   x1='189.720' y1='264.960' x2='239.640' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='101.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k79&quot;, &quot;_self&quot;)'>79</text>
-  <line
-   x1='189.720' y1='264.960' x2='239.640' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k74&quot;, &quot;_self&quot;)'>74</text>
-  <line
-   x1='139.800' y1='264.960' x2='189.720' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k71&quot;, &quot;_self&quot;)'>71</text>
-  <line
-   x1='89.880' y1='227.460' x2='139.800' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='26.040'
-   style='font-weight: bold; text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k70&quot;, &quot;_self&quot;)'>70</text>
-  <line
-   x1='89.880' y1='227.460' x2='139.800' y2='39.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='213.540' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k68&quot;, &quot;_self&quot;)'>68</text>
-  <line
-   x1='39.960' y1='602.460' x2='89.880' y2='227.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='39.960' y='588.540' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k67&quot;, &quot;_self&quot;)'>67</text>
-  </svg></div>
-
-<pre>(defprotocol station-to-station diffie-hellman
-  (defrole init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
-    (uniq-gen x))
-  (defrole resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    (uniq-gen y)
-    (absent (y h))))</pre>
-
-<p id="k67">Item <a href="#t67">67</a>, Children: <a href="#k68">68</a> <a href="#k69">69</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='79.920pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 79.920 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <g><title>(enc (enc h (exp (gen) y) (privk a)) (exp h y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (y y))</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;'>station-to-station 67</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (h base) (y expn))
-  (defstrand resp 3 (a a) (b b) (h h) (y y))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (label 67)
-  (unrealized (0 2))
-  (origs)
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k68">Item <a href="#t67">68</a>, Parent: <a href="#k67">67</a>, Children: <a href="#k70">70</a> <a href="#k71">71</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 68</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (operation encryption-test (added-strand init 3)
-    (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-      (exp (gen) (mul y x))) (0 2))
-  (label 68)
-  (parent 67)
-  (unrealized (1 1))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k69">Item <a href="#t67">69</a>, Parent: <a href="#k67">67</a>, Children: <a href="#k72">72</a> <a href="#k73">73</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='264.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp h y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp h y)</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(enc (enc h (exp (gen) y) (privk a)) (exp h y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (y y))</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;'>station-to-station 69</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (h base) (y expn))
-  (defstrand resp 3 (a a) (b b) (h h) (y y))
-  (deflistener (exp h y))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation encryption-test (added-listener (exp h y))
-    (enc (enc h (exp (gen) y) (privk a)) (exp h y)) (0 2))
-  (label 69)
-  (parent 67)
-  (unrealized (0 2) (1 0))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k70">Item <a href="#t67">70</a>, Parent: <a href="#k68">68</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.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 (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 70 (realized)</text>
-  </svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation encryption-test (displaced 2 0 resp 2)
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-      (exp (gen) (mul x y))) (1 1))
-  (label 70)
-  (parent 68)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (y y) (h (exp (gen) x)))))
-  (origs))</pre>
-
-<p id="k71">Item <a href="#t67">71</a>, Parent: <a href="#k68">68</a>, Child: <a href="#k74">74</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='189.960' x2='239.880' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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>(exp (gen) (mul y x))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: red;' 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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 71</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (operation encryption-test (added-listener (exp (gen) (mul y x)))
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-      (exp (gen) (mul y x))) (1 1))
-  (label 71)
-  (parent 68)
-  (unrealized (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k72">Item <a href="#t67">72</a>, Parent: <a href="#k69">69</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='264.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (gen) (exp (gen) y) (privk a)) (exp (gen) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (gen) (privk b)) (exp (gen) y)))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (gen)) (y y))</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;'>station-to-station 72</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (y expn))
-  (defstrand resp 3 (a a) (b b) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y (gen)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation nonce-test (displaced 2 0 resp 2) (exp (gen) y-0) (1 0))
-  (label 72)
-  (parent 69)
-  (unrealized (0 2))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k73">Item <a href="#t67">73</a>, Parent: <a href="#k69">69</a>, Children: <a href="#k75">75</a> <a href="#k76">76</a> <a href="#k77">77</a> <a href="#k78">78</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='189.960' x2='239.880' y2='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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>(cat (exp h (mul y (rec w))) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp h (mul y (rec w))) w)</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp h y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp h y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(enc (enc h (exp (gen) y) (privk a)) (exp h y))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (y y))</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;'>station-to-station 73</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (h base) (y expn) (w expr))
-  (defstrand resp 3 (a a) (b b) (h h) (y y))
-  (deflistener (exp h y))
-  (deflistener (cat (exp h (mul y (rec w))) w))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul y (rec w))) w))
-    (exp h y) (1 0))
-  (label 73)
-  (parent 69)
-  (unrealized (0 2) (2 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k74">Item <a href="#t67">74</a>, Parent: <a href="#k71">71</a>, Children: <a href="#k79">79</a> <a href="#k80">80</a> <a href="#k81">81</a> <a href="#k82">82</a> <a href="#k83">83</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='264.960' x2='239.880' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 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>(cat (exp (gen) (mul y x (rec w))) w)</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul y x (rec w))) w)</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <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>(exp (gen) (mul y x))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 74</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn) (w expr))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) (mul y x (rec w))) w))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y x (rec w))) w))
-    (exp (gen) (mul y x)) (2 0))
-  (label 74)
-  (parent 71)
-  (unrealized (3 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k75">Item <a href="#t67">75</a>, Parent: <a href="#k73">73</a>, Child: <a href="#k84">84</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='189.960' x2='239.880' y2='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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>(cat (gen) (mul w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y)))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) w)) (y y))</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;'>station-to-station 75</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (w expr) (y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test
-    (contracted (y-0 y) (h (exp (gen) w)) (w (mul w y))) (gen) (2 0))
-  (label 75)
-  (parent 73)
-  (unrealized (0 2) (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k76">Item <a href="#t67">76</a>, Parent: <a href="#k73">73</a>, Child: <a href="#k85">85</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 114.960 Q 192.900 77.460 45.960 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w y))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x y))</title>
-   <circle style='fill: red;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a)) (exp (gen) (mul w x y)))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b)) (exp (gen) (mul w x y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul w x))) (y y))</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;'>station-to-station 76</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (w expr) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (defstrand init 1 (x x))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand init 1) (exp (gen) x) (2 0))
-  (label 76)
-  (parent 73)
-  (unrealized (0 2) (1 0) (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k77">Item <a href="#t67">77</a>, Parent: <a href="#k73">73</a>, Child: <a href="#k86">86</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='189.960' x2='239.880' y2='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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>(cat (exp (gen) y) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y)))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) w)) (y y))</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;'>station-to-station 77</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (w expr) (y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation nonce-test (displaced 3 0 resp 2) (exp (gen) y-0) (2 0))
-  (label 77)
-  (parent 73)
-  (unrealized (0 2))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k78">Item <a href="#t67">78</a>, Parent: <a href="#k73">73</a>, Child: <a href="#k87">87</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='264.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 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <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>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 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>(exp (gen) (mul w y y-0))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: red;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a)) (exp (gen) (mul w y y-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 264.960 Q 136.920 227.460 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>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b)) (exp (gen) (mul w y y-0))))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul w y))) (y y-0))</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;'>station-to-station 78</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (h base) (w expr) (y y-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (0 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0))
-  (label 78)
-  (parent 73)
-  (unrealized (0 2) (1 0) (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k79">Item <a href="#t67">79</a>, Parent: <a href="#k74">74</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='264.960' x2='239.880' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 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>(cat (gen) (mul y x))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul y x))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <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>(exp (gen) (mul y x))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 79</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (gen) (mul y x)))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (precur (3 0))
-  (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen)
-    (3 0))
-  (label 79)
-  (parent 74)
-  (unrealized (2 0) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k80">Item <a href="#t67">80</a>, Parent: <a href="#k74">74</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='264.960' x2='239.880' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 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>(cat (exp (gen) x) y)</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) y)</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <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>(exp (gen) (mul y x))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 80</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x) y))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x)
-  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-0) (3 0))
-  (label 80)
-  (parent 74)
-  (unrealized (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k81">Item <a href="#t67">81</a>, Parent: <a href="#k74">74</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='114.960' x2='439.800' y2='114.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 439.800 114.960 Q 392.220 150.660 344.639 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.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>(cat (exp (gen) x-0) (mul y x (rec x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul y x (rec x-0)))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <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>(exp (gen) (mul y x))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 81</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x x-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)) ((4 0) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (label 81)
-  (parent 74)
-  (unrealized (2 0) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k82">Item <a href="#t67">82</a>, Parent: <a href="#k74">74</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='264.960' x2='239.880' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 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>(cat (exp (gen) y) x)</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <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>(exp (gen) (mul x y))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 82</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y)
-  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
-  (label 82)
-  (parent 74)
-  (unrealized (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k83">Item <a href="#t67">83</a>, Parent: <a href="#k74">74</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='114.960' x2='439.800' y2='189.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='114.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 439.800 189.960 Q 392.820 189.960 345.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) h (privk b-1)) (exp h y-0)))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.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>(cat (exp (gen) y-0) (mul y x (rec y-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul y x (rec y-0)))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <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>(exp (gen) (mul y x))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b-1) (h h) (y y-0))</title>
-   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 83</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x y-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y-0) (mul y x (rec y-0))))
-  (defstrand resp 2 (b b-1) (h h) (y y-0))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (absent (y-0 h) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (label 83)
-  (parent 74)
-  (unrealized (2 0) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k84">Item <a href="#t67">84</a>, Parent: <a href="#k75">75</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='264.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 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>y</title><circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <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>(cat (gen) (mul w y))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 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>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y)))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) w)) (y y))</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;'>station-to-station 84</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (w expr) (y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 1) (3 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test (added-listener y) (mul w y) (2 0))
-  (label 84)
-  (parent 75)
-  (unrealized (0 2) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k85">Item <a href="#t67">85</a>, Parent: <a href="#k76">76</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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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 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>y</title><circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.900 77.460 45.960 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.960' r='6.000'/></g>
-  <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>(cat (exp (gen) x) (mul w y))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w y))</title>
-   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 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>(exp (gen) (mul w x y))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a)) (exp (gen) (mul w x y)))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b)) (exp (gen) (mul w x y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul w x))) (y y))</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;'>station-to-station 85</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (w expr) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (defstrand init 1 (x x))
-  (deflistener y)
-  (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0))
-    ((4 1) (2 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation nonce-test (added-listener y) (mul w y) (2 0))
-  (label 85)
-  (parent 76)
-  (unrealized (0 2) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k86">Item <a href="#t67">86</a>, Parent: <a href="#k77">77</a>, Children: <a href="#k88">88</a> <a href="#k89">89</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 264.960 Q 192.810 264.232 45.781 338.504'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.900 77.460 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</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-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 86</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x)
-  (operation encryption-test (added-strand init 3)
-    (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2))
-  (label 86)
-  (parent 77)
-  (unrealized (2 0) (3 1))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k87">Item <a href="#t67">87</a>, Parent: <a href="#k78">78</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='339.960' x2='239.880' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='139.920' y1='414.960' x2='139.920' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='189.960' x2='39.960' y2='489.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>y-0</title><circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>y-0</title>
-   <circle style='fill: red;' cx='439.800' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 192.900 152.460 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 239.880 414.960 Q 192.900 414.960 145.920 414.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='239.880' cy='414.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='239.880' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 139.920 489.960 Q 92.940 489.960 45.960 489.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle cx='139.920' cy='489.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a)) (exp (gen) (mul w y y-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='489.960' r='6.000'/></g>
-  <path
-   d='M 39.960 264.960 Q 236.880 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>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b)) (exp (gen) (mul w y y-0))))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul w y))) (y y-0))</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;'>station-to-station 87</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (h base) (w expr) (y y-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (0 0))
-    ((4 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y y-0)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (2 0))
-  (label 87)
-  (parent 78)
-  (unrealized (0 2) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k88">Item <a href="#t67">88</a>, Parent: <a href="#k86">86</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 264.960 Q 192.810 264.232 45.781 338.504'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.900 77.460 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</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-dasharray: 6.000,2.400; 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 (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 88</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation encryption-test (displaced 4 0 resp 2)
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-      (exp (gen) (mul x y))) (3 1))
-  (label 88)
-  (parent 86)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k89">Item <a href="#t67">89</a>, Parent: <a href="#k86">86</a>, Child: <a href="#k90">90</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='189.960' x2='439.800' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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='339.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>(exp (gen) (mul y x))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 339.960 Q 192.900 302.460 45.960 339.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='339.840' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.900 77.460 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</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-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 89</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (precedes ((0 1) (2 0)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x)
-  (operation encryption-test (added-listener (exp (gen) (mul y x)))
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-      (exp (gen) (mul y x))) (3 1))
-  (label 89)
-  (parent 86)
-  (unrealized (2 0) (4 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k90">Item <a href="#t67">90</a>, Parent: <a href="#k89">89</a>, Children: <a href="#k91">91</a> <a href="#k92">92</a> <a href="#k93">93</a> <a href="#k94">94</a> <a href="#k95">95</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) (mul y x (rec w))) w)</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) (mul y x (rec w))) w)</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 392.820 339.960 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>(exp (gen) (mul y x))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.900 77.460 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 90</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn) (w expr))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) (mul y x (rec w))) w))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen y x)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y x (rec w))) w))
-    (exp (gen) (mul y x)) (4 0))
-  (label 90)
-  (parent 89)
-  (unrealized (2 0) (5 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k91">Item <a href="#t67">91</a>, Parent: <a href="#k90">90</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (gen) (mul y x))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul y x))</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 392.820 339.960 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>(exp (gen) (mul y x))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.900 77.460 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 91</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (gen) (mul y x)))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen y x)
-  (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen)
-    (5 0))
-  (label 91)
-  (parent 90)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k92">Item <a href="#t67">92</a>, Parent: <a href="#k90">90</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) y)</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) y)</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 392.820 339.960 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>(exp (gen) (mul y x))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.900 77.460 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 92</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x) y))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen y x)
-  (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-0) (5 0))
-  (label 92)
-  (parent 90)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k93">Item <a href="#t67">93</a>, Parent: <a href="#k90">90</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='114.960' x2='639.720' y2='114.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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 639.720 114.960 Q 592.140 150.660 544.559 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x-0) (mul y x (rec x-0)))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul y x (rec x-0)))</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 392.820 339.960 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>(exp (gen) (mul y x))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.900 77.460 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text x='639.720' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 93</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (y x x-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0))
-  (label 93)
-  (parent 90)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k94">Item <a href="#t67">94</a>, Parent: <a href="#k90">90</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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 392.820 339.960 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>(exp (gen) (mul x y))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='439.800' cy='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.900 77.460 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 94</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 name) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x y)
-  (operation nonce-test (displaced 6 0 resp 2) (exp (gen) y-0) (5 0))
-  (label 94)
-  (parent 90)
-  (unrealized (2 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k95">Item <a href="#t67">95</a>, Parent: <a href="#k90">90</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='114.960' x2='639.720' y2='189.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='264.960' x2='439.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 639.720 189.960 Q 592.740 189.960 545.760 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) h (privk b-1)) (exp h y-0)))</title>
-   <circle cx='639.720' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='639.720' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 539.760 264.960 Q 492.780 264.960 445.800 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y-0) (mul y x (rec y-0)))</title>
-   <circle cx='539.760' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y-0) (mul y x (rec y-0)))</title>
-   <circle style='fill: red;' cx='539.760' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 439.800 339.960 Q 392.820 339.960 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>(exp (gen) (mul y x))</title>
-   <circle cx='439.800' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: red;' cx='439.800' cy='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='339.840' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 192.900 77.460 45.960 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 339.960 Q 92.340 375.660 44.759 411.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b-1) (h h) (y y-0))</title>
-   <text x='639.720' y='77.460' style='text-anchor: middle;'>resp</text>
-   </g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text x='339.840' y='77.460' style='text-anchor: middle;'>init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</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;'>station-to-station 95</text></svg></div>
-
-<pre>(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x y-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y-0) (mul y x (rec y-0))))
-  (defstrand resp 2 (b b-1) (h h) (y y-0))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen y x y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0))
-  (label 95)
-  (parent 90)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="t96">Tree <a href="#top">96</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.440pt' height='1204.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.440 1204.920' font-size='12.000'>
-  <text
-   x='289.560' y='1151.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k126&quot;, &quot;_self&quot;)'>126</text>
-  <line
-   x1='239.640' y1='1164.960' x2='289.560' y2='1164.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1151.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k118&quot;, &quot;_self&quot;)'>118</text>
-  <line
-   x1='189.720' y1='1089.960' x2='239.640' y2='1164.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1076.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k117&quot;, &quot;_self&quot;)'>117</text>
-  <line
-   x1='189.720' y1='1089.960' x2='239.640' y2='1089.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='1001.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k125&quot;, &quot;_self&quot;)'>125</text>
-  <line
-   x1='239.640' y1='1014.960' x2='289.560' y2='1014.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='1001.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k116&quot;, &quot;_self&quot;)'>116</text>
-  <line
-   x1='189.720' y1='1089.960' x2='239.640' y2='1014.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='1076.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k108&quot;, &quot;_self&quot;)'>108</text>
-  <line
-   x1='139.800' y1='827.460' x2='189.720' y2='1089.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k124&quot;, &quot;_self&quot;)'>124</text>
-  <line
-   x1='239.640' y1='939.960' x2='289.560' y2='939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='926.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k115&quot;, &quot;_self&quot;)'>115</text>
-  <line
-   x1='189.720' y1='864.960' x2='239.640' y2='939.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='851.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k123&quot;, &quot;_self&quot;)'>123</text>
-  <line
-   x1='239.640' y1='864.960' x2='289.560' y2='864.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='851.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k114&quot;, &quot;_self&quot;)'>114</text>
-  <line
-   x1='189.720' y1='864.960' x2='239.640' y2='864.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='776.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k113&quot;, &quot;_self&quot;)'>113</text>
-  <line
-   x1='189.720' y1='864.960' x2='239.640' y2='789.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='851.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k107&quot;, &quot;_self&quot;)'>107</text>
-  <line
-   x1='139.800' y1='827.460' x2='189.720' y2='864.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='701.040'
-   style='font-style: italic; text-anchor: middle; fill: green;'
-   onclick='window.open(&quot;#k98&quot;, &quot;_self&quot;)'>98</text>
-  <line
-   x1='289.560' y1='714.960' x2='339.480' y2='714.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='701.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k122&quot;, &quot;_self&quot;)'>122</text>
-  <line
-   x1='239.640' y1='714.960' x2='289.560' y2='714.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='701.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k112&quot;, &quot;_self&quot;)'>112</text>
-  <line
-   x1='189.720' y1='677.460' x2='239.640' y2='714.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='626.040'
-   style='font-style: italic; text-anchor: middle; fill: green;'
-   onclick='window.open(&quot;#k97&quot;, &quot;_self&quot;)'>97</text>
-  <line
-   x1='289.560' y1='639.960' x2='339.480' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='626.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k121&quot;, &quot;_self&quot;)'>121</text>
-  <line
-   x1='239.640' y1='639.960' x2='289.560' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='626.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k111&quot;, &quot;_self&quot;)'>111</text>
-  <line
-   x1='189.720' y1='677.460' x2='239.640' y2='639.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='663.540' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k106&quot;, &quot;_self&quot;)'>106</text>
-  <line
-   x1='139.800' y1='827.460' x2='189.720' y2='677.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='551.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k120&quot;, &quot;_self&quot;)'>120</text>
-  <line
-   x1='239.640' y1='564.960' x2='289.560' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='551.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k110&quot;, &quot;_self&quot;)'>110</text>
-  <line
-   x1='189.720' y1='527.460' x2='239.640' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='476.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k119&quot;, &quot;_self&quot;)'>119</text>
-  <line
-   x1='239.640' y1='489.960' x2='289.560' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='476.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k109&quot;, &quot;_self&quot;)'>109</text>
-  <line
-   x1='189.720' y1='527.460' x2='239.640' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='513.540' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k105&quot;, &quot;_self&quot;)'>105</text>
-  <line
-   x1='139.800' y1='827.460' x2='189.720' y2='527.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='813.540' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k104&quot;, &quot;_self&quot;)'>104</text>
-  <line
-   x1='89.880' y1='677.460' x2='139.800' y2='827.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='401.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k103&quot;, &quot;_self&quot;)'>103</text>
-  <line
-   x1='89.880' y1='677.460' x2='139.800' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='326.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k102&quot;, &quot;_self&quot;)'>102</text>
-  <line
-   x1='89.880' y1='677.460' x2='139.800' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k101&quot;, &quot;_self&quot;)'>101</text>
-  <line
-   x1='89.880' y1='677.460' x2='139.800' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k100&quot;, &quot;_self&quot;)'>100</text>
-  <line
-   x1='89.880' y1='677.460' x2='139.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='663.540' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k99&quot;, &quot;_self&quot;)'>99</text>
-  <line
-   x1='39.960' y1='602.460' x2='89.880' y2='677.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='101.040'
-   style='font-weight: bold; text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k98&quot;, &quot;_self&quot;)'>98</text>
-  <line
-   x1='39.960' y1='602.460' x2='89.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='26.040'
-   style='font-weight: bold; text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k97&quot;, &quot;_self&quot;)'>97</text>
-  <line
-   x1='39.960' y1='602.460' x2='89.880' y2='39.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='39.960' y='588.540' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k96&quot;, &quot;_self&quot;)'>96</text>
-  </svg></div>
-
-<pre>(defprotocol station-weak diffie-hellman
-  (defrole weak-init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))))
-  (defrole weak-resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    (absent (y h))))</pre>
-
-<p id="k96">Item <a href="#t96">96</a>, Children: <a href="#k97">97</a> <a href="#k98">98</a> <a href="#k99">99</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='79.920pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 79.920 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <g><title>(enc (enc (exp (gen) x) h (privk a)) (exp h x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='39.960' y='39.960'
-   style='text-anchor: middle;'>station-weak 96</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (h base) (x expn))
-  (defstrand weak-init 3 (a a) (b b) (h h) (x x))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (label 96)
-  (unrealized (0 1))
-  (origs)
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k97">Item <a href="#t96">97</a>, Parent: <a href="#k96">96</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='189.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text
-    x='139.920' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-weak 97 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (1 1)) ((1 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-      (exp (gen) (mul x x-0))) (0 1))
-  (label 97)
-  (parent 96)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (x x) (h (exp (gen) x-0)))))
-  (origs))</pre>
-
-<p id="k98">Item <a href="#t96">98</a>, Parent: <a href="#k96">96</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text
-    x='139.920' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-weak 98 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-      (exp (gen) (mul x y))) (0 1))
-  (label 98)
-  (parent 96)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (x x) (h (exp (gen) y)))))
-  (origs))</pre>
-
-<p id="k99">Item <a href="#t96">99</a>, Parent: <a href="#k96">96</a>, Children: <a href="#k100">100</a> <a href="#k101">101</a> <a href="#k102">102</a> <a href="#k103">103</a> <a href="#k104">104</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp h x)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp h x)</title>
-   <circle style='fill: red;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g><title>(enc (enc (exp (gen) x) h (privk a)) (exp h x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-weak 99</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (h base) (x expn))
-  (defstrand weak-init 3 (a a) (b b) (h h) (x x))
-  (deflistener (exp h x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation encryption-test (added-listener (exp h x))
-    (enc (enc h (exp (gen) x) (privk b)) (exp h x)) (0 1))
-  (label 99)
-  (parent 96)
-  (unrealized (0 1) (1 0))
-  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
-
-<p id="k100">Item <a href="#t96">100</a>, Parent: <a href="#k99">99</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(gen)</title><circle cx='139.920' cy='189.960' r='6.000'/>
-   </g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (rec x)) (privk a)) (gen))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (rec x)) (enc (enc (exp (gen) (rec x)) (exp (gen) x) (privk b)) (gen)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) (rec x))) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-weak 100</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen)
-    (1 0))
-  (label 100)
-  (parent 99)
-  (unrealized (0 1))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k101">Item <a href="#t96">101</a>, Parent: <a href="#k99">99</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (gen) (privk a)) (exp (gen) x))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (gen) (enc (enc (gen) (exp (gen) x) (privk b)) (exp (gen) x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (gen)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-weak 101</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x expn))
-  (defstrand weak-init 3 (a a) (b b) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (displaced 2 0 weak-init 1) (exp (gen) x-0)
-    (1 0))
-  (label 101)
-  (parent 99)
-  (unrealized (0 1))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k102">Item <a href="#t96">102</a>, Parent: <a href="#k99">99</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='279.840pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 279.840 304.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='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 239.880 114.960 Q 192.900 114.960 145.920 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (mul (rec x) x-0)) (privk a)) (exp (gen) x-0))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) x-0)) (enc (enc (exp (gen) (mul (rec x) x-0)) (exp (gen) x) (privk b)) (exp (gen) x-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text
-    x='239.880' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g>
-   <title>((a a) (b b) (h (exp (gen) (mul (rec x) x-0))) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 102</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) x-0)))
-    (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand weak-init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (added-strand weak-init 1) (exp (gen) x-0)
-    (1 0))
-  (label 102)
-  (parent 99)
-  (unrealized (0 1))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k103">Item <a href="#t96">103</a>, Parent: <a href="#k99">99</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='189.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='189.960' x2='39.960' y2='339.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (mul (rec x) y)) (privk a)) (exp (gen) y))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) y)) (enc (enc (exp (gen) (mul (rec x) y)) (exp (gen) x) (privk b)) (exp (gen) y)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text
-    x='239.880' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul (rec x) y))) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 103</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) y)))
-    (x x))
-  (deflistener (exp (gen) y))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (added-strand weak-resp 2) (exp (gen) y) (1 0))
-  (label 103)
-  (parent 99)
-  (unrealized (0 1))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k104">Item <a href="#t96">104</a>, Parent: <a href="#k99">99</a>, Children: <a href="#k105">105</a> <a href="#k106">106</a> <a href="#k107">107</a> <a href="#k108">108</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='189.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 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>(cat (exp h (mul x (rec w))) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp h (mul x (rec w))) w)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp h x)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp h x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(enc (enc (exp (gen) x) h (privk a)) (exp h x))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 104</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (h base) (x expn) (w expr))
-  (defstrand weak-init 3 (a a) (b b) (h h) (x x))
-  (deflistener (exp h x))
-  (deflistener (cat (exp h (mul x (rec w))) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w))
-    (exp h x) (1 0))
-  (label 104)
-  (parent 99)
-  (unrealized (0 1) (2 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k105">Item <a href="#t96">105</a>, Parent: <a href="#k104">104</a>, Children: <a href="#k109">109</a> <a href="#k110">110</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='189.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 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>(cat (gen) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) w)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w)) (privk a)) (exp (gen) w))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) w)) (enc (enc (exp (gen) (mul (rec x) w)) (exp (gen) x) (privk b)) (exp (gen) w)))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul (rec x) w))) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 105</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x expn) (w expr))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w)))
-    (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (2 0))
-  (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w))))
-    (gen) (2 0))
-  (label 105)
-  (parent 104)
-  (unrealized (0 1))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k106">Item <a href="#t96">106</a>, Parent: <a href="#k104">104</a>, Children: <a href="#k111">111</a> <a href="#k112">112</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='189.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 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>(cat (exp (gen) x) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) w) (privk a)) (exp (gen) (mul w x)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) w) (enc (enc (exp (gen) w) (exp (gen) x) (privk b)) (exp (gen) (mul w x))))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) w)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 106</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (w expr) (x expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (displaced 3 0 weak-init 1) (exp (gen) x-0)
-    (2 0))
-  (label 106)
-  (parent 104)
-  (unrealized (0 1))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k107">Item <a href="#t96">107</a>, Parent: <a href="#k104">104</a>, Children: <a href="#k113">113</a> <a href="#k114">114</a> <a href="#k115">115</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='114.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='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 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) w)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) w)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w x-0)) (privk a)) (exp (gen) (mul w x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) w x-0)) (enc (enc (exp (gen) (mul (rec x) w x-0)) (exp (gen) x) (privk b)) (exp (gen) (mul w x-0))))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x-0))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g>
-   <title>((a a) (b b) (h (exp (gen) (mul (rec x) w x-0))) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 107</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x expn) (w expr) (x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w x-0)))
-    (x x))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand weak-init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-strand weak-init 1) (exp (gen) x-0)
-    (2 0))
-  (label 107)
-  (parent 104)
-  (unrealized (0 1))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k108">Item <a href="#t96">108</a>, Parent: <a href="#k104">104</a>, Children: <a href="#k116">116</a> <a href="#k117">117</a> <a href="#k118">118</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='264.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w y)) (privk a)) (exp (gen) (mul w y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) (mul (rec x) w y)) (enc (enc (exp (gen) (mul (rec x) w y)) (exp (gen) x) (privk b)) (exp (gen) (mul w y))))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g>
-   <title>((a a) (b b) (h (exp (gen) (mul (rec x) w y))) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 108</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (x expn) (w expr) (y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w y)))
-    (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-strand weak-resp 2) (exp (gen) y) (2 0))
-  (label 108)
-  (parent 104)
-  (unrealized (0 1))
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k109">Item <a href="#t96">109</a>, Parent: <a href="#k105">105</a>, Child: <a href="#k119">119</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='264.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='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 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.990 114.232 334.019 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 109</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (label 109)
-  (parent 105)
-  (unrealized (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k110">Item <a href="#t96">110</a>, Parent: <a href="#k105">105</a>, Child: <a href="#k120">120</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.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='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 339.840 189.960 Q 192.810 189.232 45.781 263.504'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (gen) (mul x y))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x y))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 110</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (label 110)
-  (parent 105)
-  (unrealized (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k111">Item <a href="#t96">111</a>, Parent: <a href="#k106">106</a>, Child: <a href="#k121">121</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='264.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='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 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) x-0)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) x-0)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.990 114.232 334.019 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 111 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (label 111)
-  (parent 106)
-  (unrealized)
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k112">Item <a href="#t96">112</a>, Parent: <a href="#k106">106</a>, Child: <a href="#k122">122</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='189.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='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 339.840 189.960 Q 192.810 189.232 45.781 263.504'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) x) y)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) y)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 112 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x) y))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (label 112)
-  (parent 106)
-  (unrealized)
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k113">Item <a href="#t96">113</a>, Parent: <a href="#k107">107</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='264.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='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 339.840 264.960 Q 192.900 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) x)</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) x)</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 186.990 114.232 334.019 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 113</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (displaced 3 4 weak-init 3)
-    (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1))
-  (label 113)
-  (parent 107)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k114">Item <a href="#t96">114</a>, Parent: <a href="#k107">107</a>, Child: <a href="#k123">123</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 264.960 Q 242.880 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.931 114.407 433.903 188.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-1))</title>
-   <text
-    x='439.800' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-1)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-weak 114</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand weak-init 1 (x x-0))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1))
-  (label 114)
-  (parent 107)
-  (unrealized (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k115">Item <a href="#t96">115</a>, Parent: <a href="#k107">107</a>, Child: <a href="#k124">124</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='479.760pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 479.760 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='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.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='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 439.800 189.960 Q 242.829 189.407 45.857 263.854'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.860 114.960 245.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) y))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) y))</title>
-   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text
-    x='439.800' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-weak 115</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x x-0 y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-  (defstrand weak-init 1 (x x-0))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (label 115)
-  (parent 107)
-  (unrealized (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k116">Item <a href="#t96">116</a>, Parent: <a href="#k108">108</a>, Child: <a href="#k125">125</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='114.960' x2='439.800' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 439.800 264.960 Q 242.829 264.407 45.857 338.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</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-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>((a b) (b b-1) (h (exp (gen) x)) (x x-0))</title>
-   <text
-    x='439.800' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-weak 116</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 b-1 name) (h base) (x y x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (defstrand weak-init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 2) (0 1)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (label 116)
-  (parent 108)
-  (unrealized (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k117">Item <a href="#t96">117</a>, Parent: <a href="#k108">108</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='264.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 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 117</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (displaced 4 3 weak-resp 2)
-    (enc (exp (gen) y-0) (exp (gen) x) (privk b-0)) (0 1))
-  (label 117)
-  (parent 108)
-  (unrealized (2 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k118">Item <a href="#t96">118</a>, Parent: <a href="#k108">108</a>, Child: <a href="#k126">126</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='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 439.800 189.960 Q 242.689 226.406 45.578 337.852'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) y-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) y-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y-0) (privk a)) (exp (gen) (mul x y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y-0))</title>
-   <text
-    x='439.800' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y-0)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-weak 118</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (x y y-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y-0)) (x x))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 (exp (gen) x)) (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (0 1))
-  (label 118)
-  (parent 108)
-  (unrealized (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k119">Item <a href="#t96">119</a>, Parent: <a href="#k109">109</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='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.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='264.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 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 264.960 Q 192.810 264.232 45.781 338.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (gen) (mul x x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.990 114.232 334.019 188.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-weak 119</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener x)
-  (precedes ((0 0) (3 1)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 2) (0 1)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x x-0) (2 0))
-  (label 119)
-  (parent 109)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k120">Item <a href="#t96">120</a>, Parent: <a href="#k110">110</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='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 439.800 189.960 Q 342.840 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 192.583 226.118 45.326 337.276'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (gen) (mul x y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul x y))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-weak 120</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x y) (2 0))
-  (label 120)
-  (parent 110)
-  (unrealized (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k121">Item <a href="#t96">121</a>, Parent: <a href="#k111">111</a>, Seen Child: <a href="#k97">97</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='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;'/>
-  <path
-   d='M 239.880 264.960 Q 142.920 227.460 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 92.340 225.660 44.759 261.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) x-0)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) x-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 137.111 113.906 234.262 187.853'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-0))</title>
-   <text
-    x='239.880' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 121 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (1 0)) ((0 0) (2 1)) ((1 1) (0 1)) ((2 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x)
-  (operation generalization deleted (1 0))
-  (label 121)
-  (parent 111)
-  (seen 97)
-  (unrealized)
-  (comment &quot;1 in cohort - 0 not yet seen&quot;))</pre>
-
-<p id="k122">Item <a href="#t96">122</a>, Parent: <a href="#k112">112</a>, Seen Child: <a href="#k98">98</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='279.840pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 279.840 304.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='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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 239.880 189.960 Q 142.920 152.460 45.960 189.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) x) y)</title>
-   <circle cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text
-    x='239.880' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 122 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (cat (exp (gen) x) y))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x)
-  (operation generalization deleted (1 0))
-  (label 122)
-  (parent 112)
-  (seen 98)
-  (unrealized)
-  (comment &quot;1 in cohort - 0 not yet seen&quot;))</pre>
-
-<p id="k123">Item <a href="#t96">123</a>, Parent: <a href="#k114">114</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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.829 264.407 45.857 338.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-1)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) x-1))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-1))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 236.931 114.407 433.903 188.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-0) (h (exp (gen) x)) (x x-1))</title>
-   <text
-    x='439.800' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-1)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-weak 123</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand weak-init 1 (x x-0))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1))
-  (deflistener x)
-  (precedes ((0 0) (4 1)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 2) (0 1)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x (rec x-0) x-1) (2 0))
-  (label 123)
-  (parent 114)
-  (unrealized (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k124">Item <a href="#t96">124</a>, Parent: <a href="#k115">115</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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='339.840' y1='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 242.689 226.406 45.578 337.852'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x-0) (mul x (rec x-0) y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x-0) (mul x (rec x-0) y))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y))</title>
-   <text
-    x='439.800' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((x x-0))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-weak 124</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (x x-0 y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-  (defstrand weak-init 1 (x x-0))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x (rec x-0) y) (2 0))
-  (label 124)
-  (parent 115)
-  (unrealized (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k125">Item <a href="#t96">125</a>, Parent: <a href="#k116">116</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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 264.960 Q 242.829 264.407 45.857 338.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x-0)</title>
-   <circle cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) x-0))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x x-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 236.931 114.407 433.903 188.854'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a b) (b b-1) (h (exp (gen) x)) (x x-0))</title>
-   <text
-    x='439.800' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x-0)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-weak 125</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 b-1 name) (h base) (x y x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (defstrand weak-init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener x)
-  (precedes ((0 0) (4 1)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 2) (0 1)) ((5 1) (2 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x (rec y) x-0) (2 0))
-  (label 125)
-  (parent 116)
-  (unrealized (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k126">Item <a href="#t96">126</a>, Parent: <a href="#k118">118</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='114.960' x2='539.760' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='439.800' y1='114.960' x2='439.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='264.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 539.760 189.960 Q 392.820 152.460 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>x</title><circle cx='539.760' cy='189.960' r='6.000'/></g>
-  <g><title>x</title>
-   <circle style='fill: red;' cx='539.760' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 439.800 189.960 Q 242.689 226.406 45.578 337.852'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))</title>
-   <circle cx='439.800' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='439.800' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul x (rec y) y-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul x (rec y) y-0))</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul x y-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul x y-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y-0) (privk a)) (exp (gen) (mul x y-0)))</title>
-   <circle cx='39.960' cy='414.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))</title>
-   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
-  <path
-   d='M 39.960 114.960 Q 236.880 77.460 433.800 114.960'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 114.960 Q 286.860 77.460 533.760 114.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b) (h (exp (gen) x)) (y y-0))</title>
-   <text
-    x='439.800' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y-0)) (x x))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <text
-   x='289.860' y='39.960'
-   style='text-anchor: middle;'>station-weak 126</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (x y y-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y-0)) (x x))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y-0))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x (rec y) y-0) (2 0))
-  (label 126)
-  (parent 118)
-  (unrealized (5 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="t127">Tree <a href="#top">127</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.440pt' height='604.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.440 604.920' font-size='12.000'>
-  <text
-   x='239.640' y='551.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k141&quot;, &quot;_self&quot;)'>141</text>
-  <line
-   x1='189.720' y1='564.960' x2='239.640' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='551.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k136&quot;, &quot;_self&quot;)'>136</text>
-  <line
-   x1='139.800' y1='414.960' x2='189.720' y2='564.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='476.040'
-   style='font-style: italic; text-anchor: middle; fill: green;'
-   onclick='window.open(&quot;#k129&quot;, &quot;_self&quot;)'>129</text>
-  <line
-   x1='289.560' y1='489.960' x2='339.480' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='476.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k143&quot;, &quot;_self&quot;)'>143</text>
-  <line
-   x1='239.640' y1='489.960' x2='289.560' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='476.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k140&quot;, &quot;_self&quot;)'>140</text>
-  <line
-   x1='189.720' y1='452.460' x2='239.640' y2='489.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='339.480' y='401.040'
-   style='font-style: italic; text-anchor: middle; fill: green;'
-   onclick='window.open(&quot;#k128&quot;, &quot;_self&quot;)'>128</text>
-  <line
-   x1='289.560' y1='414.960' x2='339.480' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='289.560' y='401.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k142&quot;, &quot;_self&quot;)'>142</text>
-  <line
-   x1='239.640' y1='414.960' x2='289.560' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='401.040' style='text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k139&quot;, &quot;_self&quot;)'>139</text>
-  <line
-   x1='189.720' y1='452.460' x2='239.640' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='438.540' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k135&quot;, &quot;_self&quot;)'>135</text>
-  <line
-   x1='139.800' y1='414.960' x2='189.720' y2='452.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='326.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k138&quot;, &quot;_self&quot;)'>138</text>
-  <line
-   x1='189.720' y1='339.960' x2='239.640' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='326.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k134&quot;, &quot;_self&quot;)'>134</text>
-  <line
-   x1='139.800' y1='414.960' x2='189.720' y2='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='239.640' y='251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k137&quot;, &quot;_self&quot;)'>137</text>
-  <line
-   x1='189.720' y1='264.960' x2='239.640' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='189.720' y='251.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k133&quot;, &quot;_self&quot;)'>133</text>
-  <line
-   x1='139.800' y1='414.960' x2='189.720' y2='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='401.040' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k132&quot;, &quot;_self&quot;)'>132</text>
-  <line
-   x1='89.880' y1='377.460' x2='139.800' y2='414.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='139.800' y='176.040' style='text-anchor: middle; fill: red;'
-   onclick='window.open(&quot;#k131&quot;, &quot;_self&quot;)'>131</text>
-  <line
-   x1='89.880' y1='377.460' x2='139.800' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='363.540' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k130&quot;, &quot;_self&quot;)'>130</text>
-  <line
-   x1='39.960' y1='302.460' x2='89.880' y2='377.460'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='101.040'
-   style='font-weight: bold; text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k129&quot;, &quot;_self&quot;)'>129</text>
-  <line
-   x1='39.960' y1='302.460' x2='89.880' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='89.880' y='26.040'
-   style='font-weight: bold; text-anchor: middle; fill: blue;'
-   onclick='window.open(&quot;#k128&quot;, &quot;_self&quot;)'>128</text>
-  <line
-   x1='39.960' y1='302.460' x2='89.880' y2='39.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <text
-   x='39.960' y='288.540' style='text-anchor: middle; fill: black;'
-   onclick='window.open(&quot;#k127&quot;, &quot;_self&quot;)'>127</text>
-  </svg></div>
-
-<pre>(defprotocol station-weak diffie-hellman
-  (defrole weak-init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))))
-  (defrole weak-resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    (absent (y h))))</pre>
-
-<p id="k127">Item <a href="#t127">127</a>, Children: <a href="#k128">128</a> <a href="#k129">129</a> <a href="#k130">130</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='79.920pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 79.920 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <g><title>(enc (enc h (exp (gen) y) (privk a)) (exp h y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='39.960' y='39.960'
-   style='text-anchor: middle;'>station-weak 127</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (h base) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h h) (y y))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (label 127)
-  (unrealized (0 2))
-  (origs)
-  (comment &quot;3 in cohort - 3 not yet seen&quot;))</pre>
-
-<p id="k128">Item <a href="#t127">128</a>, Parent: <a href="#k127">127</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='139.920' cy='114.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text
-    x='139.920' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-weak 128 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (y x expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand weak-init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 1)) ((1 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-      (exp (gen) (mul y x))) (0 2))
-  (label 128)
-  (parent 127)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (y y) (h (exp (gen) x)))))
-  (origs))</pre>
-
-<p id="k129">Item <a href="#t127">129</a>, Parent: <a href="#k127">127</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='264.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0))))</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) y-0) (privk b)) (exp (gen) (mul y y-0))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b a) (h (exp (gen) y)) (y y-0))</title>
-   <text
-    x='139.920' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y-0)) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-weak 129 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (y y-0 expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) y-0)) (y y))
-  (defstrand weak-resp 2 (b a) (h (exp (gen) y)) (y y-0))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y-0 (exp (gen) y)) (y (exp (gen) y-0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a))
-      (exp (gen) (mul y y-0))) (0 2))
-  (label 129)
-  (parent 127)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (y y) (h (exp (gen) y-0)))))
-  (origs))</pre>
-
-<p id="k130">Item <a href="#t127">130</a>, Parent: <a href="#k127">127</a>, Children: <a href="#k131">131</a> <a href="#k132">132</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='264.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp h y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp h y)</title>
-   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g><title>(enc (enc h (exp (gen) y) (privk a)) (exp h y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-weak 130</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (h base) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h h) (y y))
-  (deflistener (exp h y))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation encryption-test (added-listener (exp h y))
-    (enc (enc h (exp (gen) y) (privk a)) (exp h y)) (0 2))
-  (label 130)
-  (parent 127)
-  (unrealized (0 2) (1 0))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k131">Item <a href="#t127">131</a>, Parent: <a href="#k130">130</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='179.880pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 179.880 304.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='264.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='39.960' y1='114.960' x2='39.960' y2='264.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) y)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (gen) (exp (gen) y) (privk a)) (exp (gen) y))</title>
-   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (gen) (privk b)) (exp (gen) y)))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(gen)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (gen)) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='89.940' y='39.960'
-   style='text-anchor: middle;'>station-weak 131</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y (gen)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation nonce-test (displaced 2 0 weak-resp 2) (exp (gen) y-0)
-    (1 0))
-  (label 131)
-  (parent 130)
-  (unrealized (0 2))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k132">Item <a href="#t127">132</a>, Parent: <a href="#k130">130</a>, Children: <a href="#k133">133</a> <a href="#k134">134</a> <a href="#k135">135</a> <a href="#k136">136</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='189.960' x2='239.880' y2='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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>(cat (exp h (mul y (rec w))) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp h (mul y (rec w))) w)</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp h y)</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp h y)</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(enc (enc h (exp (gen) y) (privk a)) (exp h y))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h h) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 132</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (h base) (y expn) (w expr))
-  (defstrand weak-resp 3 (a a) (b b) (h h) (y y))
-  (deflistener (exp h y))
-  (deflistener (cat (exp h (mul y (rec w))) w))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul y (rec w))) w))
-    (exp h y) (1 0))
-  (label 132)
-  (parent 130)
-  (unrealized (0 2) (2 0))
-  (comment &quot;4 in cohort - 4 not yet seen&quot;))</pre>
-
-<p id="k133">Item <a href="#t127">133</a>, Parent: <a href="#k132">132</a>, Child: <a href="#k137">137</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='189.960' x2='239.880' y2='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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>(cat (gen) (mul w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y)))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) w)) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 133</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (w expr) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test
-    (contracted (y-0 y) (h (exp (gen) w)) (w (mul w y))) (gen) (2 0))
-  (label 133)
-  (parent 132)
-  (unrealized (0 2) (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k134">Item <a href="#t127">134</a>, Parent: <a href="#k132">132</a>, Child: <a href="#k138">138</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <line
-   x1='239.880' y1='189.960' x2='239.880' y2='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 114.960 Q 292.260 150.660 244.679 186.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) x) (mul w y))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w y))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w x y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a)) (exp (gen) (mul w x y)))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b)) (exp (gen) (mul w x y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul w x))) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 134</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (w expr) (x y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (defstrand weak-init 1 (x x))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (2 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation nonce-test (added-strand weak-init 1) (exp (gen) x) (2 0))
-  (label 134)
-  (parent 132)
-  (unrealized (0 2) (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k135">Item <a href="#t127">135</a>, Parent: <a href="#k132">132</a>, Children: <a href="#k139">139</a> <a href="#k140">140</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='189.960' x2='239.880' y2='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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>(cat (exp (gen) y) w)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) w)</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y)))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) w)) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 135</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (w expr) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation nonce-test (displaced 3 0 weak-resp 2) (exp (gen) y-0)
-    (2 0))
-  (label 135)
-  (parent 132)
-  (unrealized (0 2))
-  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
-
-<p id="k136">Item <a href="#t127">136</a>, Parent: <a href="#k132">132</a>, Child: <a href="#k141">141</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='264.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='339.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.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>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a)) (exp (gen) (mul w y y-0)))</title>
-   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b)) (exp (gen) (mul w y y-0))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul w y))) (y y-0))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 136</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (w expr) (y y-0 expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y-0)
-  (operation nonce-test (added-strand weak-resp 2) (exp (gen) y) (2 0))
-  (label 136)
-  (parent 132)
-  (unrealized (0 2) (2 0))
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k137">Item <a href="#t127">137</a>, Parent: <a href="#k133">133</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='264.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 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>y</title><circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <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>(cat (gen) (mul w y))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 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>(exp (gen) (mul w y))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y)))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) w)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b) (h (exp (gen) w)) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 137</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (w expr) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 1) (3 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test (added-listener y) (mul w y) (2 0))
-  (label 137)
-  (parent 133)
-  (unrealized (0 2) (3 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k138">Item <a href="#t127">138</a>, Parent: <a href="#k134">134</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='114.960' x2='339.840' y2='114.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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 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>y</title><circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>y</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 114.960 Q 291.524 187.464 243.207 259.967'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.960' r='6.000'/></g>
-  <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>(cat (exp (gen) x) (mul w y))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) x) (mul w y))</title>
-   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 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>(exp (gen) (mul w x y))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x y))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a)) (exp (gen) (mul w x y)))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b)) (exp (gen) (mul w x y))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w x))</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((x x))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul w x))) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-weak 138</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (w expr) (x y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (defstrand weak-init 1 (x x))
-  (deflistener y)
-  (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (2 0))
-    ((4 1) (2 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation nonce-test (added-listener y) (mul w y) (2 0))
-  (label 138)
-  (parent 134)
-  (unrealized (0 2) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k139">Item <a href="#t127">139</a>, Parent: <a href="#k135">135</a>, Child: <a href="#k142">142</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='339.840' y1='114.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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 264.960 Q 192.810 264.232 45.781 338.504'
-   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='339.840' cy='114.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>(cat (exp (gen) y) x)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y x))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</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-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 139 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (y x expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand weak-init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2))
-  (label 139)
-  (parent 135)
-  (unrealized)
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k140">Item <a href="#t127">140</a>, Parent: <a href="#k135">135</a>, Child: <a href="#k143">143</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='379.800pt' height='379.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 379.800 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='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='264.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='339.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <path
-   d='M 339.840 264.960 Q 192.810 264.232 45.781 338.504'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0))))</title>
-   <circle cx='339.840' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='339.840' cy='189.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>(cat (exp (gen) y) y-0)</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) y-0)</title>
-   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(exp (gen) (mul y y-0))</title>
-   <circle cx='139.920' cy='339.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul y y-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0)))</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-dasharray: 6.000,2.400; 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) y-0) (privk b)) (exp (gen) (mul y y-0))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b a) (h (exp (gen) y)) (y y-0))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y-0)) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='189.900' y='39.960'
-   style='text-anchor: middle;'>station-weak 140 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (y y-0 expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) y-0)) (y y))
-  (deflistener (exp (gen) (mul y y-0)))
-  (deflistener (cat (exp (gen) y) y-0))
-  (defstrand weak-resp 2 (b a) (h (exp (gen) y)) (y y-0))
-  (precedes ((0 1) (2 0)) ((0 1) (3 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 1) (0 2)))
-  (absent (y-0 (exp (gen) y)) (y (exp (gen) y-0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (0 2))
-  (label 140)
-  (parent 135)
-  (unrealized)
-  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
-
-<p id="k141">Item <a href="#t127">141</a>, Parent: <a href="#k136">136</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='114.960' x2='339.840' y2='189.960'
-   style='stroke-width: 0.960; stroke: gray;'/>
-  <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='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 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>y-0</title><circle cx='439.800' cy='264.960' r='6.000'/></g>
-  <g><title>y-0</title>
-   <circle style='fill: red;' cx='439.800' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 339.840 189.960 Q 292.260 225.660 244.679 261.359'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))</title>
-   <circle cx='339.840' cy='189.960' r='6.000'/></g>
-  <g><title>h</title>
-   <circle style='fill: blue;' cx='339.840' cy='114.960' r='6.000'/></g>
-  <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>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle cx='239.880' cy='339.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) (mul w y-0))</title>
-   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 139.920 414.960 Q 92.940 414.960 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>(exp (gen) (mul w y y-0))</title>
-   <circle cx='139.920' cy='414.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y y-0))</title>
-   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a)) (exp (gen) (mul w y y-0)))</title>
-   <circle style='fill: red;' cx='39.960' cy='414.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 236.880 152.460 433.800 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b)) (exp (gen) (mul w y y-0))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) (mul w y))</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b b-0) (h h) (y y))</title>
-   <text
-    x='339.840' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) (mul w y))) (y y-0))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='239.880' y='39.960'
-   style='text-anchor: middle;'>station-weak 141</text></svg></div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (w expr) (y y-0 expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y-0)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (2 0))
-  (label 141)
-  (parent 136)
-  (unrealized (0 2) (4 0))
-  (comment &quot;empty cohort&quot;))</pre>
-
-<p id="k142">Item <a href="#t127">142</a>, Parent: <a href="#k139">139</a>, Seen Child: <a href="#k128">128</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='279.840pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 279.840 304.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='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle cx='239.880' cy='114.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) x)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) x)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((a a) (b b-0) (h (exp (gen) y)) (x x))</title>
-   <text
-    x='239.880' y='77.460' style='text-anchor: middle;'>weak-init</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) x)) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 142 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b b-0 name) (y x expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand weak-init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 0)) ((0 1) (2 1)) ((1 1) (0 2)) ((2 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y)
-  (operation generalization deleted (1 0))
-  (label 142)
-  (parent 139)
-  (seen 128)
-  (unrealized)
-  (comment &quot;1 in cohort - 0 not yet seen&quot;))</pre>
-
-<p id="k143">Item <a href="#t127">143</a>, Parent: <a href="#k140">140</a>, Seen Child: <a href="#k129">129</a>.</p>
-
-<div>
- <svg
-  class='diagram' width='279.840pt' height='304.920pt'
-  xmlns='http://www.w3.org/2000/svg' version='1.1'
-  viewBox='0 0 279.840 304.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='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='264.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0))))</title>
-   <circle cx='239.880' cy='264.960' r='6.000'/></g>
-  <g><title>(exp (gen) y)</title>
-   <circle style='fill: blue;' cx='239.880' cy='189.960' r='6.000'/></g>
-  <path
-   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g><title>(cat (exp (gen) y) y-0)</title>
-   <circle cx='139.920' cy='264.960' r='6.000'/></g>
-  <g><title>(cat (exp (gen) y) y-0)</title>
-   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
-  <g>
-   <title>(enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0)))</title>
-   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
-  <path
-   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <path
-   d='M 39.960 189.960 Q 136.920 152.460 233.880 189.960'
-   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
-  <g>
-   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) y-0) (privk b)) (exp (gen) (mul y y-0))))</title>
-   <circle cx='39.960' cy='189.960' r='6.000'/></g>
-  <g><title>(exp (gen) y-0)</title>
-   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
-  <g><title>((b a) (h (exp (gen) y)) (y y-0))</title>
-   <text
-    x='239.880' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <g><title>((a a) (b b) (h (exp (gen) y-0)) (y y))</title>
-   <text
-    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
-   </g>
-  <text
-   x='139.920' y='39.960'
-   style='text-anchor: middle;'>station-weak 143 (realized)</text></svg>
- </div>
-
-<pre>(defskeleton station-weak
-  (vars (a b name) (y y-0 expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) y-0)) (y y))
-  (deflistener (cat (exp (gen) y) y-0))
-  (defstrand weak-resp 2 (b a) (h (exp (gen) y)) (y y-0))
-  (precedes ((0 1) (1 0)) ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (0 2)))
-  (absent (y-0 (exp (gen) y)) (y (exp (gen) y-0)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y)
-  (operation generalization deleted (1 0))
-  (label 143)
-  (parent 140)
-  (seen 129)
-  (unrealized)
-  (comment &quot;1 in cohort - 0 not yet seen&quot;))</pre>
+<!-- CPSA 3.5.0 -->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Station-to-station protocol</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;Station-to-station protocol&quot; (algebra diffie-hellman))
+(comment &quot;CPSA 3.5.0&quot;)
+(comment &quot;All input read from station.scm&quot;)</pre>
+
+<p id="top">Trees: <a href="#t0">0</a> <a href="#t10">10</a> <a href="#t20">20</a> <a href="#t23">23</a>.</p>
+
+<p id="t0">Tree <a href="#top">0</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='279.600pt' height='454.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 279.600 454.920' font-size='12.000'>
+  <text
+   x='89.880' y='401.040'
+   style='font-weight: bold; text-anchor: middle; fill: blue;'
+   onclick='window.open(&quot;#k2&quot;, &quot;_self&quot;)'>2</text>
+  <line
+   x1='39.960' y1='227.460' x2='89.880' y2='414.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='239.640' y='326.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k9&quot;, &quot;_self&quot;)'>9</text>
+  <line
+   x1='189.720' y1='189.960' x2='239.640' y2='339.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='239.640' y='251.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k8&quot;, &quot;_self&quot;)'>8</text>
+  <line
+   x1='189.720' y1='189.960' x2='239.640' y2='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='239.640' y='176.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k7&quot;, &quot;_self&quot;)'>7</text>
+  <line
+   x1='189.720' y1='189.960' x2='239.640' y2='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='239.640' y='101.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k6&quot;, &quot;_self&quot;)'>6</text>
+  <line
+   x1='189.720' y1='189.960' x2='239.640' y2='114.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='239.640' y='26.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k5&quot;, &quot;_self&quot;)'>5</text>
+  <line
+   x1='189.720' y1='189.960' x2='239.640' y2='39.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='189.720' y='176.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k4&quot;, &quot;_self&quot;)'>4</text>
+  <line
+   x1='139.800' y1='189.960' x2='189.720' y2='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='139.800' y='176.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k3&quot;, &quot;_self&quot;)'>3</text>
+  <line
+   x1='89.880' y1='189.960' x2='139.800' y2='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='89.880' y='176.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k1&quot;, &quot;_self&quot;)'>1</text>
+  <line
+   x1='39.960' y1='227.460' x2='89.880' y2='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='39.960' y='213.540' style='text-anchor: middle; fill: black;'
+   onclick='window.open(&quot;#k0&quot;, &quot;_self&quot;)'>0</text>
+  </svg></div>
+
+<pre>(defprotocol station-to-station diffie-hellman
+  (defrole init
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    (uniq-gen x))
+  (defrole resp
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    (uniq-gen y)
+    (absent (y (exp (gen) x)))))</pre>
+
+<p id="k0">Item <a href="#t0">0</a>, Children: <a href="#k1">1</a> <a href="#k2">2</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='79.920pt' height='304.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 79.920 304.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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle cx='39.960' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
+   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b) (x x) (y y))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='39.960' y='39.960'
+   style='text-anchor: middle;'>station-to-station 0</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b name) (x rndx) (y expt))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (label 0)
+  (unrealized (0 1))
+  (origs)
+  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
+
+<p id="k1">Item <a href="#t0">1</a>, Parent: <a href="#k0">0</a>, Child: <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='189.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='139.920' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='39.960' cy='339.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-0)</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>((a b) (b b-0) (x x) (y x-0))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (x x-0) (y x))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='89.940' y='39.960'
+   style='text-anchor: middle;'>station-to-station 1</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (precedes ((0 0) (1 1)) ((1 2) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation encryption-test (added-strand init 3)
+    (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (0 1))
+  (label 1)
+  (parent 0)
+  (unrealized (1 1))
+  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
+
+<p id="k2">Item <a href="#t0">2</a>, Parent: <a href="#k0">0</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='179.880pt' height='304.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 179.880 304.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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <path
+   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
+   <circle cx='139.920' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
+   <circle cx='39.960' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
+   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
+  <path
+   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((b b) (y y) (x x))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>resp</text>
+   </g>
+  <g><title>((a a) (b b) (x x) (y y))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='89.940' y='39.960'
+   style='text-anchor: middle;'>station-to-station 2 (realized)</text>
+  </svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b name) (y x rndx))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
+  (defstrand resp 2 (b b) (y y) (x x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (operation encryption-test (added-strand resp 2)
+    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
+  (label 2)
+  (parent 0)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (origs))</pre>
+
+<p id="k3">Item <a href="#t0">3</a>, Parent: <a href="#k1">1</a>, Child: <a href="#k4">4</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='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <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 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>(exp (gen) (mul x x-0))</title>
+   <circle cx='239.880' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x x-0))</title>
+   <circle style='fill: red;' cx='239.880' cy='114.960' r='6.000'/></g>
+  <path
+   d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='139.920' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 186.900 114.960 233.880 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='39.960' cy='339.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 39.960 114.960 Q 136.920 77.460 233.880 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-0)</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a b) (b b-0) (x x) (y x-0))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (x x-0) (y x))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='139.920' y='39.960'
+   style='text-anchor: middle;'>station-to-station 3</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (precedes ((0 0) (2 0)) ((1 0) (2 0)) ((1 2) (0 1)) ((2 1) (1 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
+    (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+      (exp (gen) (mul x x-0))) (1 1))
+  (label 3)
+  (parent 1)
+  (unrealized (2 0))
+  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
+
+<p id="k4">Item <a href="#t0">4</a>, Parent: <a href="#k3">3</a>, Children: <a href="#k5">5</a> <a href="#k6">6</a> <a href="#k7">7</a> <a href="#k8">8</a> <a href="#k9">9</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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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 189.960 Q 292.860 189.960 245.880 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
+   <circle cx='339.840' cy='189.960' r='6.000'/></g>
+  <g><title>(cat (exp (gen) (mul x x-0 (rec w))) w)</title>
+   <circle style='fill: red;' cx='339.840' cy='114.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>(exp (gen) (mul x x-0))</title>
+   <circle cx='239.880' cy='264.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x x-0))</title>
+   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='139.920' cy='339.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 236.880 77.460 333.840 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='39.960' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-0)</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a b) (b b-0) (x x) (y x-0))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (x x-0) (y x))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='189.900' y='39.960'
+   style='text-anchor: middle;'>station-to-station 4</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx) (w expt))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
+    (exp (gen) (mul x x-0)) (2 0))
+  (label 4)
+  (parent 3)
+  (unrealized (3 0))
+  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
+
+<p id="k5">Item <a href="#t0">5</a>, Parent: <a href="#k4">4</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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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 189.960 Q 292.860 189.960 245.880 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(cat (gen) (mul x x-0))</title>
+   <circle cx='339.840' cy='189.960' r='6.000'/></g>
+  <g><title>(cat (gen) (mul x x-0))</title>
+   <circle style='fill: red;' cx='339.840' cy='114.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>(exp (gen) (mul x x-0))</title>
+   <circle cx='239.880' cy='264.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x x-0))</title>
+   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='139.920' cy='339.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 236.880 77.460 333.840 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='39.960' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-0)</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a b) (b b-0) (x x) (y x-0))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (x x-0) (y x))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='189.900' y='39.960'
+   style='text-anchor: middle;'>station-to-station 5</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (gen) (mul x x-0)))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (precur (3 0))
+  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
+    (gen) (3 0))
+  (label 5)
+  (parent 4)
+  (unrealized (2 0) (3 0))
+  (comment &quot;empty cohort&quot;))</pre>
+
+<p id="k6">Item <a href="#t0">6</a>, Parent: <a href="#k4">4</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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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 189.960 Q 292.860 189.960 245.880 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(cat (exp (gen) x-0) x)</title>
+   <circle cx='339.840' cy='189.960' r='6.000'/></g>
+  <g><title>(cat (exp (gen) x-0) x)</title>
+   <circle style='fill: red;' cx='339.840' cy='114.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>(exp (gen) (mul x x-0))</title>
+   <circle cx='239.880' cy='264.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x x-0))</title>
+   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='139.920' cy='339.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 236.880 77.460 333.840 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='39.960' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-0)</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a b) (b b-0) (x x) (y x-0))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (x x-0) (y x))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='189.900' y='39.960'
+   style='text-anchor: middle;'>station-to-station 6</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) x-0) x))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x x-0)
+  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (3 0))
+  (label 6)
+  (parent 4)
+  (unrealized (3 0))
+  (comment &quot;empty cohort&quot;))</pre>
+
+<p id="k7">Item <a href="#t0">7</a>, Parent: <a href="#k4">4</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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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 189.960 Q 292.860 189.960 245.880 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(cat (exp (gen) x-0) x)</title>
+   <circle cx='339.840' cy='189.960' r='6.000'/></g>
+  <g><title>(cat (exp (gen) x-0) x)</title>
+   <circle style='fill: red;' cx='339.840' cy='114.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>(exp (gen) (mul x x-0))</title>
+   <circle cx='239.880' cy='264.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x x-0))</title>
+   <circle style='fill: blue;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='139.920' cy='339.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 236.880 77.460 333.840 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-0)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='39.960' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a b) (b b-0) (x x-0) (y x))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (x x) (y x-0))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='189.900' y='39.960'
+   style='text-anchor: middle;'>station-to-station 7</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x) (y x-0))
+  (defstrand init 3 (a b) (b b-0) (x x-0) (y x))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) x-0) x))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x x-0)
+  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-1) (3 0))
+  (label 7)
+  (parent 4)
+  (unrealized (3 0))
+  (comment &quot;empty cohort&quot;))</pre>
+
+<p id="k8">Item <a href="#t0">8</a>, Parent: <a href="#k4">4</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='114.960' x2='439.800' y2='114.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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 114.960 Q 392.820 114.960 345.840 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-1)</title>
+   <circle cx='439.800' cy='114.960' r='6.000'/></g>
+  <path
+   d='M 339.840 189.960 Q 292.860 189.960 245.880 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
+   <circle cx='339.840' cy='189.960' r='6.000'/></g>
+  <g><title>(cat (exp (gen) x-1) (mul x x-0 (rec x-1)))</title>
+   <circle style='fill: red;' cx='339.840' cy='114.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>(exp (gen) (mul x x-0))</title>
+   <circle cx='239.880' cy='264.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x x-0))</title>
+   <circle style='fill: red;' 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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='139.920' cy='339.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 236.880 77.460 333.840 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='39.960' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='39.960' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 39.960 114.960 Q 186.900 77.460 333.840 114.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-0)</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((x x-1))</title>
+   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a b) (b b-0) (x x) (y x-0))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (x x-0) (y x))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='239.880' y='39.960'
+   style='text-anchor: middle;'>station-to-station 8</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 x-1 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
+  (defstrand init 1 (x x-1))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)) ((4 0) (3 0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x x-0 x-1)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
+  (label 8)
+  (parent 4)
+  (unrealized (2 0) (3 0))
+  (comment &quot;empty cohort&quot;))</pre>
+
+<p id="k9">Item <a href="#t0">9</a>, Parent: <a href="#k4">4</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='114.960' x2='439.800' y2='189.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='339.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='189.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='489.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <path
+   d='M 439.800 189.960 Q 392.820 189.960 345.840 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-1)) (exp (gen) (mul x y))))</title>
+   <circle cx='439.800' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='439.800' cy='114.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>(cat (exp (gen) y) (mul x-0 x-1 (rec y)))</title>
+   <circle cx='339.840' cy='264.960' r='6.000'/></g>
+  <g><title>(cat (exp (gen) y) (mul x-0 x-1 (rec y)))</title>
+   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
+  <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>(exp (gen) (mul x-0 x-1))</title>
+   <circle cx='239.880' cy='339.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x-0 x-1))</title>
+   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 414.960 Q 92.940 414.960 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>(enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b)) (exp (gen) (mul x-0 x-1)))</title>
+   <circle cx='139.920' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x-0 x-1))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 139.920 189.960 Q 236.880 152.460 333.840 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-0)</title>
+   <circle cx='139.920' cy='189.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk a)) (exp (gen) (mul x-0 x-1)))</title>
+   <circle cx='39.960' cy='489.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b)) (exp (gen) (mul x-0 x-1))))</title>
+   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-1)</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>((b b-1) (y y) (x x))</title>
+   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
+   </g>
+  <g><title>((a b) (b b-0) (x x-0) (y x-1))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (x x-1) (y x-0))</title>
+   <text x='39.960' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <text
+   x='239.880' y='39.960'
+   style='text-anchor: middle;'>station-to-station 9</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 b-1 name) (x expt) (x-0 x-1 y rndx))
+  (defstrand init 3 (a a) (b b) (x x-1) (y x-0))
+  (defstrand init 3 (a b) (b b-0) (x x-0) (y x-1))
+  (deflistener (exp (gen) (mul x-0 x-1)))
+  (deflistener (cat (exp (gen) y) (mul x-0 x-1 (rec y))))
+  (defstrand resp 2 (b b-1) (y y) (x x))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x-0 x-1 y)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
+  (label 9)
+  (parent 4)
+  (unrealized (2 0) (3 0))
+  (comment &quot;empty cohort&quot;))</pre>
+
+<p id="t10">Tree <a href="#top">10</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='279.600pt' height='454.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 279.600 454.920' font-size='12.000'>
+  <text
+   x='239.640' y='401.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k19&quot;, &quot;_self&quot;)'>19</text>
+  <line
+   x1='189.720' y1='264.960' x2='239.640' y2='414.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='239.640' y='326.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k18&quot;, &quot;_self&quot;)'>18</text>
+  <line
+   x1='189.720' y1='264.960' x2='239.640' y2='339.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='239.640' y='251.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k17&quot;, &quot;_self&quot;)'>17</text>
+  <line
+   x1='189.720' y1='264.960' x2='239.640' y2='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='239.640' y='176.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k16&quot;, &quot;_self&quot;)'>16</text>
+  <line
+   x1='189.720' y1='264.960' x2='239.640' y2='189.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='239.640' y='101.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k15&quot;, &quot;_self&quot;)'>15</text>
+  <line
+   x1='189.720' y1='264.960' x2='239.640' y2='114.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='189.720' y='251.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k14&quot;, &quot;_self&quot;)'>14</text>
+  <line
+   x1='139.800' y1='264.960' x2='189.720' y2='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='139.800' y='251.040' style='text-anchor: middle; fill: red;'
+   onclick='window.open(&quot;#k13&quot;, &quot;_self&quot;)'>13</text>
+  <line
+   x1='89.880' y1='227.460' x2='139.800' y2='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='139.800' y='26.040'
+   style='font-weight: bold; text-anchor: middle; fill: blue;'
+   onclick='window.open(&quot;#k12&quot;, &quot;_self&quot;)'>12</text>
+  <line
+   x1='89.880' y1='227.460' x2='139.800' y2='39.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='89.880' y='213.540' style='text-anchor: middle; fill: black;'
+   onclick='window.open(&quot;#k11&quot;, &quot;_self&quot;)'>11</text>
+  <line
+   x1='39.960' y1='227.460' x2='89.880' y2='227.460'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='39.960' y='213.540' style='text-anchor: middle; fill: black;'
+   onclick='window.open(&quot;#k10&quot;, &quot;_self&quot;)'>10</text>
+  </svg></div>
+
+<pre>(defprotocol station-to-station diffie-hellman
+  (defrole init
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    (uniq-gen x))
+  (defrole resp
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    (uniq-gen y)
+    (absent (y (exp (gen) x)))))</pre>
+
+<p id="k10">Item <a href="#t10">10</a>, Child: <a href="#k11">11</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='79.920pt' height='304.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 79.920 304.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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
+   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b) (y y) (x x))</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;'>station-to-station 10</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b name) (y rndx) (x expt))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (label 10)
+  (unrealized (0 2))
+  (origs)
+  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
+
+<p id="k11">Item <a href="#t10">11</a>, Parent: <a href="#k10">10</a>, Children: <a href="#k12">12</a> <a href="#k13">13</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='179.880pt' height='304.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 179.880 304.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='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle cx='139.920' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))))</title>
+   <circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b-0) (x x) (y y))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (y y) (x x))</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;'>station-to-station 11</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation encryption-test (added-strand init 3)
+    (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2))
+  (label 11)
+  (parent 10)
+  (unrealized (1 1))
+  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
+
+<p id="k12">Item <a href="#t10">12</a>, Parent: <a href="#k11">11</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='179.880pt' height='304.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 179.880 304.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='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
+   <circle cx='139.920' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
+   <circle style='fill: blue;' cx='39.960' cy='264.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 (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b) (x x) (y y))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (y y) (x x))</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;'>station-to-station 12 (realized)</text>
+  </svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b name) (y x rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
+  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (operation encryption-test (displaced 2 0 resp 2)
+    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+      (exp (gen) (mul y x))) (1 1))
+  (label 12)
+  (parent 11)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (y y) (x x))))
+  (origs))</pre>
+
+<p id="k13">Item <a href="#t10">13</a>, Parent: <a href="#k11">11</a>, Child: <a href="#k14">14</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='189.960' x2='239.880' y2='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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='339.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <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>(exp (gen) (mul x y))</title>
+   <circle cx='239.880' cy='264.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x y))</title>
+   <circle style='fill: red;' 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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle cx='139.920' cy='339.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b-0) (x x) (y y))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (y y) (x x))</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;'>station-to-station 13</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation encryption-test (added-listener (exp (gen) (mul x y)))
+    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+      (exp (gen) (mul x y))) (1 1))
+  (label 13)
+  (parent 11)
+  (unrealized (2 0))
+  (comment &quot;1 in cohort - 1 not yet seen&quot;))</pre>
+
+<p id="k14">Item <a href="#t10">14</a>, Parent: <a href="#k13">13</a>, Children: <a href="#k15">15</a> <a href="#k16">16</a> <a href="#k17">17</a> <a href="#k18">18</a> <a href="#k19">19</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='264.960' x2='239.880' y2='339.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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 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>(cat (exp (gen) (mul x y (rec w))) w)</title>
+   <circle cx='339.840' cy='264.960' r='6.000'/></g>
+  <g><title>(cat (exp (gen) (mul x y (rec w))) w)</title>
+   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
+  <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>(exp (gen) (mul x y))</title>
+   <circle cx='239.880' cy='339.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x y))</title>
+   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle cx='139.920' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b-0) (x x) (y y))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (y y) (x x))</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;'>station-to-station 14</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x y rndx) (w expt))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) (mul x y (rec w))) w))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x y (rec w))) w))
+    (exp (gen) (mul x y)) (2 0))
+  (label 14)
+  (parent 13)
+  (unrealized (3 0))
+  (comment &quot;5 in cohort - 5 not yet seen&quot;))</pre>
+
+<p id="k15">Item <a href="#t10">15</a>, Parent: <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='264.960' x2='239.880' y2='339.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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 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>(cat (gen) (mul x y))</title>
+   <circle cx='339.840' cy='264.960' r='6.000'/></g>
+  <g><title>(cat (gen) (mul x y))</title>
+   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
+  <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>(exp (gen) (mul x y))</title>
+   <circle cx='239.880' cy='339.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x y))</title>
+   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle cx='139.920' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b-0) (x x) (y y))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (y y) (x x))</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;'>station-to-station 15</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (gen) (mul x y)))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (precur (3 0))
+  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul x y))) (gen)
+    (3 0))
+  (label 15)
+  (parent 14)
+  (unrealized (2 0) (3 0))
+  (comment &quot;empty cohort&quot;))</pre>
+
+<p id="k16">Item <a href="#t10">16</a>, Parent: <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='264.960' x2='239.880' y2='339.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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 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>(cat (exp (gen) x) y)</title>
+   <circle cx='339.840' cy='264.960' r='6.000'/></g>
+  <g><title>(cat (exp (gen) x) y)</title>
+   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
+  <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>(exp (gen) (mul y x))</title>
+   <circle cx='239.880' cy='339.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul y x))</title>
+   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
+   <circle cx='139.920' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
+   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b-0) (x x) (y y))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (y y) (x x))</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;'>station-to-station 16</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (y x rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) x) y))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x)
+  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-0) (3 0))
+  (label 16)
+  (parent 14)
+  (unrealized (3 0))
+  (comment &quot;empty cohort&quot;))</pre>
+
+<p id="k17">Item <a href="#t10">17</a>, Parent: <a href="#k14">14</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='114.960' x2='439.800' y2='114.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='339.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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 439.800 114.960 Q 392.220 150.660 344.639 186.359'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-0)</title>
+   <circle cx='439.800' cy='114.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>(cat (exp (gen) x-0) (mul x y (rec x-0)))</title>
+   <circle cx='339.840' cy='264.960' r='6.000'/></g>
+  <g><title>(cat (exp (gen) x-0) (mul x y (rec x-0)))</title>
+   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
+  <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>(exp (gen) (mul x y))</title>
+   <circle cx='239.880' cy='339.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x y))</title>
+   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle cx='139.920' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((x x-0))</title>
+   <text x='439.800' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b-0) (x x) (y y))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (y y) (x x))</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;'>station-to-station 17</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x y x-0 rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) x-0) (mul x y (rec x-0))))
+  (defstrand init 1 (x x-0))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)) ((4 0) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y x-0)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
+  (label 17)
+  (parent 14)
+  (unrealized (2 0) (3 0))
+  (comment &quot;empty cohort&quot;))</pre>
+
+<p id="k18">Item <a href="#t10">18</a>, Parent: <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='264.960' x2='239.880' y2='339.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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 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>(cat (exp (gen) y) x)</title>
+   <circle cx='339.840' cy='264.960' r='6.000'/></g>
+  <g><title>(cat (exp (gen) y) x)</title>
+   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
+  <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>(exp (gen) (mul x y))</title>
+   <circle cx='239.880' cy='339.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x y))</title>
+   <circle style='fill: blue;' cx='239.880' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle cx='139.920' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b-0) (x x) (y y))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (y y) (x x))</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;'>station-to-station 18</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y)
+  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
+  (label 18)
+  (parent 14)
+  (unrealized (3 0))
+  (comment &quot;empty cohort&quot;))</pre>
+
+<p id="k19">Item <a href="#t10">19</a>, Parent: <a href="#k14">14</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='114.960' x2='439.800' y2='189.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='339.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='139.920' y1='114.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 439.800 189.960 Q 392.820 189.960 345.840 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b-1)) (exp (gen) (mul x y-0))))</title>
+   <circle cx='439.800' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='439.800' cy='114.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>(cat (exp (gen) y-0) (mul x-0 y (rec y-0)))</title>
+   <circle cx='339.840' cy='264.960' r='6.000'/></g>
+  <g><title>(cat (exp (gen) y-0) (mul x-0 y (rec y-0)))</title>
+   <circle style='fill: red;' cx='339.840' cy='189.960' r='6.000'/></g>
+  <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>(exp (gen) (mul x-0 y))</title>
+   <circle cx='239.880' cy='339.960' r='6.000'/></g>
+  <g><title>(exp (gen) (mul x-0 y))</title>
+   <circle style='fill: red;' cx='239.880' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 139.920 414.960 Q 92.940 414.960 45.960 414.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x-0) (exp (gen) y) (privk a)) (exp (gen) (mul x-0 y)))</title>
+   <circle cx='139.920' cy='414.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x-0 y))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='339.960' r='6.000'/></g>
+  <path
+   d='M 139.920 114.960 Q 92.940 114.960 45.960 114.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-0)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x-0) (exp (gen) y) (privk a)) (exp (gen) (mul x-0 y)))</title>
+   <circle style='fill: blue;' cx='39.960' cy='414.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 186.900 152.460 333.840 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 y))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x-0)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((b b-1) (y y-0) (x x))</title>
+   <text x='439.800' y='77.460' style='text-anchor: middle;'>resp</text>
+   </g>
+  <g><title>((a a) (b b-0) (x x-0) (y y))</title>
+   <text x='139.920' y='77.460' style='text-anchor: middle;'>init</text>
+   </g>
+  <g><title>((a a) (b b) (y y) (x x-0))</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;'>station-to-station 19</text></svg></div>
+
+<pre>(defskeleton station-to-station
+  (vars (a b b-0 b-1 name) (x expt) (x-0 y y-0 rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x-0))
+  (defstrand init 3 (a a) (b b-0) (x x-0) (y y))
+  (deflistener (exp (gen) (mul x-0 y)))
+  (deflistener (cat (exp (gen) y-0) (mul x-0 y (rec y-0))))
+  (defstrand resp 2 (b b-1) (y y-0) (x x))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x-0 y y-0)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
+  (label 19)
+  (parent 14)
+  (unrealized (2 0) (3 0))
+  (comment &quot;empty cohort&quot;))</pre>
+
+<p id="t20">Tree <a href="#top">20</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='129.840pt' height='154.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 129.840 154.920' font-size='12.000'>
+  <text
+   x='89.880' y='101.040'
+   style='font-weight: bold; text-anchor: middle; fill: blue;'
+   onclick='window.open(&quot;#k22&quot;, &quot;_self&quot;)'>22</text>
+  <line
+   x1='39.960' y1='77.460' x2='89.880' y2='114.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='89.880' y='26.040'
+   style='font-weight: bold; text-anchor: middle; fill: blue;'
+   onclick='window.open(&quot;#k21&quot;, &quot;_self&quot;)'>21</text>
+  <line
+   x1='39.960' y1='77.460' x2='89.880' y2='39.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='39.960' y='63.540' style='text-anchor: middle; fill: black;'
+   onclick='window.open(&quot;#k20&quot;, &quot;_self&quot;)'>20</text>
+  </svg></div>
+
+<pre>(defprotocol station-weak diffie-hellman
+  (defrole weak-init
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (defrole weak-resp
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    (absent (y (exp (gen) x)))))</pre>
+
+<p id="k20">Item <a href="#t20">20</a>, Children: <a href="#k21">21</a> <a href="#k22">22</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='79.920pt' height='304.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 79.920 304.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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle cx='39.960' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
+   <circle style='fill: red;' cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b) (x x) (y y))</title>
+   <text
+    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
+   </g>
+  <text
+   x='39.960' y='39.960'
+   style='text-anchor: middle;'>station-weak 20</text></svg></div>
+
+<pre>(defskeleton station-weak
+  (vars (a b name) (x rndx) (y expt))
+  (defstrand weak-init 3 (a a) (b b) (x x) (y y))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (label 20)
+  (unrealized (0 1))
+  (origs)
+  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
+
+<p id="k21">Item <a href="#t20">21</a>, Parent: <a href="#k20">20</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='189.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='139.920' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0)))</title>
+   <circle cx='39.960' cy='339.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))</title>
+   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x-0)</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>((a b) (b b-0) (x x) (y x-0))</title>
+   <text
+    x='139.920' y='77.460' style='text-anchor: middle;'>weak-init</text>
+   </g>
+  <g><title>((a a) (b b) (x x-0) (y x))</title>
+   <text
+    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
+   </g>
+  <text
+   x='89.940' y='39.960'
+   style='text-anchor: middle;'>station-weak 21 (realized)</text></svg>
+ </div>
+
+<pre>(defskeleton station-weak
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand weak-init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand weak-init 3 (a b) (b b-0) (x x) (y x-0))
+  (precedes ((0 0) (1 1)) ((1 2) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x-0)
+  (operation encryption-test (added-strand weak-init 3)
+    (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (0 1))
+  (label 21)
+  (parent 20)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (x x-0) (y x))))
+  (origs))</pre>
+
+<p id="k22">Item <a href="#t20">22</a>, Parent: <a href="#k20">20</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='179.880pt' height='304.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 179.880 304.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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <path
+   d='M 139.920 189.960 Q 92.940 189.960 45.960 189.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
+   <circle cx='139.920' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
+   <circle cx='39.960' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
+   <circle style='fill: blue;' cx='39.960' cy='189.960' r='6.000'/></g>
+  <path
+   d='M 39.960 114.960 Q 86.940 114.960 133.920 114.960'
+   style='stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((b b) (y y) (x x))</title>
+   <text
+    x='139.920' y='77.460' style='text-anchor: middle;'>weak-resp</text>
+   </g>
+  <g><title>((a a) (b b) (x x) (y y))</title>
+   <text
+    x='39.960' y='77.460' style='text-anchor: middle;'>weak-init</text>
+   </g>
+  <text
+   x='89.940' y='39.960'
+   style='text-anchor: middle;'>station-weak 22 (realized)</text></svg>
+ </div>
+
+<pre>(defskeleton station-weak
+  (vars (a b name) (y x rndx))
+  (defstrand weak-init 3 (a a) (b b) (x x) (y y))
+  (defstrand weak-resp 2 (b b) (y y) (x x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (operation encryption-test (added-strand weak-resp 2)
+    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
+  (label 22)
+  (parent 20)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (origs))</pre>
+
+<p id="t23">Tree <a href="#top">23</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='129.840pt' height='154.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 129.840 154.920' font-size='12.000'>
+  <text
+   x='89.880' y='101.040'
+   style='font-weight: bold; text-anchor: middle; fill: blue;'
+   onclick='window.open(&quot;#k25&quot;, &quot;_self&quot;)'>25</text>
+  <line
+   x1='39.960' y1='77.460' x2='89.880' y2='114.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='89.880' y='26.040'
+   style='font-weight: bold; text-anchor: middle; fill: blue;'
+   onclick='window.open(&quot;#k24&quot;, &quot;_self&quot;)'>24</text>
+  <line
+   x1='39.960' y1='77.460' x2='89.880' y2='39.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <text
+   x='39.960' y='63.540' style='text-anchor: middle; fill: black;'
+   onclick='window.open(&quot;#k23&quot;, &quot;_self&quot;)'>23</text>
+  </svg></div>
+
+<pre>(defprotocol station-weak diffie-hellman
+  (defrole weak-init
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (defrole weak-resp
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    (absent (y (exp (gen) x)))))</pre>
+
+<p id="k23">Item <a href="#t23">23</a>, Children: <a href="#k24">24</a> <a href="#k25">25</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='79.920pt' height='304.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 79.920 304.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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))</title>
+   <circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b) (y y) (x x))</title>
+   <text
+    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
+   </g>
+  <text
+   x='39.960' y='39.960'
+   style='text-anchor: middle;'>station-weak 23</text></svg></div>
+
+<pre>(defskeleton station-weak
+  (vars (a b name) (y rndx) (x expt))
+  (defstrand weak-resp 3 (a a) (b b) (y y) (x x))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (label 23)
+  (unrealized (0 2))
+  (origs)
+  (comment &quot;2 in cohort - 2 not yet seen&quot;))</pre>
+
+<p id="k24">Item <a href="#t23">24</a>, Parent: <a href="#k23">23</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='179.880pt' height='304.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 179.880 304.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='264.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 (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle cx='139.920' cy='264.960' r='6.000'/></g>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))))</title>
+   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle cx='139.920' cy='114.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))</title>
+   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) x)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((a a) (b b-0) (x x) (y y))</title>
+   <text
+    x='139.920' y='77.460' style='text-anchor: middle;'>weak-init</text>
+   </g>
+  <g><title>((a a) (b b) (y y) (x x))</title>
+   <text
+    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
+   </g>
+  <text
+   x='89.940' y='39.960'
+   style='text-anchor: middle;'>station-weak 24 (realized)</text></svg>
+ </div>
+
+<pre>(defskeleton station-weak
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand weak-resp 3 (a a) (b b) (y y) (x x))
+  (defstrand weak-init 3 (a a) (b b-0) (x x) (y y))
+  (precedes ((0 1) (1 1)) ((1 2) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (operation encryption-test (added-strand weak-init 3)
+    (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2))
+  (label 24)
+  (parent 23)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (y y) (x x))))
+  (origs))</pre>
+
+<p id="k25">Item <a href="#t23">25</a>, Parent: <a href="#k23">23</a>.</p>
+
+<div>
+ <svg
+  class='diagram' width='179.880pt' height='304.920pt'
+  xmlns='http://www.w3.org/2000/svg' version='1.1'
+  viewBox='0 0 179.880 304.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='264.960'
+   style='stroke-width: 0.960; stroke: gray;'/>
+  <line
+   x1='39.960' y1='114.960' x2='39.960' y2='264.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-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) y-0) (privk a)) (exp (gen) (mul y y-0))))</title>
+   <circle cx='139.920' cy='264.960' r='6.000'/></g>
+  <g><title>(exp (gen) y-0)</title>
+   <circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
+  <g>
+   <title>(enc (enc (exp (gen) y) (exp (gen) y-0) (privk a)) (exp (gen) (mul y y-0)))</title>
+   <circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
+  <path
+   d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
+   style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
+  <g>
+   <title>(cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) y) (privk b)) (exp (gen) (mul y y-0))))</title>
+   <circle cx='39.960' cy='189.960' r='6.000'/></g>
+  <g><title>(exp (gen) y)</title>
+   <circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
+  <g><title>((b a) (y y) (x y-0))</title>
+   <text
+    x='139.920' y='77.460' style='text-anchor: middle;'>weak-resp</text>
+   </g>
+  <g><title>((a a) (b b) (y y-0) (x y))</title>
+   <text
+    x='39.960' y='77.460' style='text-anchor: middle;'>weak-resp</text>
+   </g>
+  <text
+   x='89.940' y='39.960'
+   style='text-anchor: middle;'>station-weak 25 (realized)</text></svg>
+ </div>
+
+<pre>(defskeleton station-weak
+  (vars (a b name) (y y-0 rndx))
+  (defstrand weak-resp 3 (a a) (b b) (y y-0) (x y))
+  (defstrand weak-resp 2 (b a) (y y) (x y-0))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
+  (absent (y (exp (gen) y-0)) (y-0 (exp (gen) y)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y-0)
+  (operation encryption-test (added-strand weak-resp 2)
+    (enc (exp (gen) y) (exp (gen) y-0) (privk a)) (0 2))
+  (label 25)
+  (parent 23)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (y y-0) (x y))))
+  (origs))</pre>
 
 </body>
 </html>
diff --git a/doc/examples/subsort_test.xhtml b/doc/examples/subsort_test.xhtml
--- a/doc/examples/subsort_test.xhtml
+++ b/doc/examples/subsort_test.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Subsort constraint test protocol</title>
@@ -13,7 +13,7 @@
 <pre>(herald &quot;Subsort constraint test protocol&quot;
   (comment &quot;First, third, and fourth skeletons should have a shape,&quot;
     &quot;second should be dead.&quot;))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from subsort_test.scm&quot;)</pre>
 
 <p id="top">Trees: <a href="#t0">0</a> <a href="#t2">2</a> <a href="#t3">3</a> <a href="#t5">5</a>.</p>
diff --git a/doc/examples/woolam.xhtml b/doc/examples/woolam.xhtml
--- a/doc/examples/woolam.xhtml
+++ b/doc/examples/woolam.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Woo-Lam Protocol</title>
@@ -11,7 +11,7 @@
 <body>
 
 <pre>(herald &quot;Woo-Lam Protocol&quot;)
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&quot;)
 (comment &quot;All input read from woolam.scm&quot;)</pre>
 
 <p id="t0">Tree 0.</p>
diff --git a/doc/examples/yahalom.xhtml b/doc/examples/yahalom.xhtml
--- a/doc/examples/yahalom.xhtml
+++ b/doc/examples/yahalom.xhtml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- CPSA 3.4.0 -->
+<!-- CPSA 3.5.0 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Yahalom Protocol with Forwarding Removed</title>
@@ -12,7 +12,7 @@
 
 <pre>(herald &quot;Yahalom Protocol with Forwarding Removed&quot;
   (algebra diffie-hellman) (bound 12))
-(comment &quot;CPSA 3.4.0&quot;)
+(comment &quot;CPSA 3.5.0&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>
diff --git a/src/CPSA/Basic/Algebra.hs b/src/CPSA/Basic/Algebra.hs
--- a/src/CPSA/Basic/Algebra.hs
+++ b/src/CPSA/Basic/Algebra.hs
@@ -327,14 +327,15 @@
 foldVars f acc (F Akey [F Pubk [C _, I x]]) = f acc (F Name [I x])
 foldVars f acc (F Akey [F Invk [F Pubk [I x]]]) = f acc (F Name [I x])
 foldVars f acc (F Akey [F Invk [F Pubk [C _, I x]]]) = f acc (F Name [I x])
-foldVars _ acc (F Tag [(C _)]) = acc        -- Tags
-foldVars f acc (F Cat [t0, t1]) = -- Concatenation
+foldVars _ acc (F Tag [(C _)]) = acc      -- Tags
+foldVars f acc (F Cat [t0, t1]) =         -- Concatenation
     foldVars f (foldVars f acc t0) t1
-foldVars f acc (F Enc [t0, t1]) = -- Encryption
+foldVars f acc (F Enc [t0, t1]) =         -- Encryption
     foldVars f (foldVars f acc t0) t1
-foldVars f acc (F Hash [t])     = -- Hashing
+foldVars f acc (F Hash [t]) =             -- Hashing
     foldVars f acc t
 foldVars f acc t@(D _) = f acc t          -- Node variable
+foldVars _ acc (P _) = acc                -- Node constant
 foldVars _ _ t = C.assertError $ "Algebra.foldVars: Bad term " ++ show t
 
 -- Fold f through a term applying it to each term that is carried by the term.
@@ -416,8 +417,11 @@
 inv :: Term -> Term
 inv (F Akey [F Invk [t]]) = F Akey [t]
 inv (F Akey [t]) = F Akey [F Invk [t]]
+inv t@(F _ _) = t
 inv (I _) = error "Algebra.inv: Cannot invert a variable of sort mesg"
-inv t = t
+inv (C _) = error "Algebra.inv: Cannot invert a tag constant"
+inv (D _) = error "Algebra.inv: Cannot invert a variable of sort node"
+inv (P _) = error "Algebra.inv: Cannot invert a node constant"
 
 -- Extracts every encryption that is carried by a term along with its
 -- encryption key.  Note that a hash is treated as a kind of
diff --git a/src/CPSA/Debase/Main.hs b/src/CPSA/Debase/Main.hs
--- a/src/CPSA/Debase/Main.hs
+++ b/src/CPSA/Debase/Main.hs
@@ -97,7 +97,7 @@
 vars (L () x : xs)
   | symStr (last x) == "base" =
       let (xs', ss) = vars xs in
-        (lst (butLast x ++ [sym "expr"]) : xs',
+        (lst (butLast x ++ [sym "expt"]) : xs',
          map symStr (butLast x) ++ ss)
   | otherwise =
       let (xs', ss) = vars xs in
diff --git a/src/CPSA/DiffieHellman/Algebra.hs b/src/CPSA/DiffieHellman/Algebra.hs
--- a/src/CPSA/DiffieHellman/Algebra.hs
+++ b/src/CPSA/DiffieHellman/Algebra.hs
@@ -2423,6 +2423,9 @@
   | sort == "akey" = return $ F Akey [I x]
   | sort == "base" = return $ F Base [I x]
   | sort == "tag" = return $ F Tag [I x]
+  | sort == "expt" = return $ groupVar False x
+  | sort == "rndx" = return $ groupVar True x
+  -- Legecy names
   | sort == "expr" = return $ groupVar False x
   | sort == "expn" = return $ groupVar True x
   | sort == "node" = return $ D x
@@ -2655,8 +2658,8 @@
 displayVar ctx (F Base [I x]) = displaySortId "base" ctx x
 displayVar ctx (F Tag [I x]) = displaySortId "tag" ctx x
 displayVar ctx t@(G x)
-    | isBasisVar x = displaySortId "expn" ctx (varId t)
-    | isGroupVar x = displaySortId "expr" ctx (varId t)
+    | isBasisVar x = displaySortId "rndx" ctx (varId t)
+    | isGroupVar x = displaySortId "expt" ctx (varId t)
 displayVar ctx (D x) = displaySortId "node" ctx x
 displayVar _ _ =
     C.assertError "Algebra.displayVar: term not a variable with its sort"
diff --git a/src/CPSA/Lib/Loader.hs b/src/CPSA/Lib/Loader.hs
--- a/src/CPSA/Lib/Loader.hs
+++ b/src/CPSA/Lib/Loader.hs
@@ -341,8 +341,10 @@
 mkListenerRole :: (Algebra t p g s e c, Monad m) => Pos -> g -> m (g, Role t)
 mkListenerRole pos g =
   do
-    (g, [x]) <- loadVars g [L pos [S pos "x", S pos "mesg"]]
-    return (g, mkRole "" [x] [In x, Out x] [] [] [] False)
+    (g, xs) <- loadVars g [L pos [S pos "x", S pos "mesg"]]
+    case xs of
+      [x] -> return (g, mkRole "" [x] [In x, Out x] [] [] [] False)
+      _ -> fail "Loader.mkListenerRole: Expection one variable"
 
 -- Association lists
 
@@ -951,7 +953,9 @@
   do
     t <- loadTerm kvars False x
     t' <- loadTerm kvars False y
-    return (pos, Equals t t')
+    case isNodeVar t == isNodeVar t' of
+      True -> return (pos, Equals t t')
+      False -> fail (shows pos "Sort mismatch in equality")
 loadPrimary _ _ kvars (L pos [S _ "non", x]) =
   do
     t <- loadAlgTerm kvars x
diff --git a/src/CPSA/Lib/Utilities.hs b/src/CPSA/Lib/Utilities.hs
--- a/src/CPSA/Lib/Utilities.hs
+++ b/src/CPSA/Lib/Utilities.hs
@@ -18,20 +18,19 @@
     = Return a
     | Fail String
 
-instance Functor (ReturnFail) where
-    fmap _ (Fail x) = Fail x
+instance Functor ReturnFail where
+    fmap _ (Fail x)   = Fail x
     fmap f (Return y) = Return (f y)
 
-instance Applicative (ReturnFail) where
-    pure          = Return
-    Fail e <*> _ = Fail e
+instance Applicative ReturnFail where
+    pure           = Return
+    Fail e <*> _   = Fail e
     Return f <*> r = fmap f r
 
 instance Monad ReturnFail where
-    return = Return
-    Fail l >>= _ = Fail l
+    Fail l >>= _   = Fail l
     Return r >>= k = k r
-    fail s = Fail s
+    fail s = Fail s             -- This must be moved to MonadFail
 
 adjoin :: Eq a => a -> [a] -> [a]
 adjoin x xs
diff --git a/src/CPSA/SAS/SAS.hs b/src/CPSA/SAS/SAS.hs
--- a/src/CPSA/SAS/SAS.hs
+++ b/src/CPSA/SAS/SAS.hs
@@ -745,6 +745,7 @@
 disjoin :: [SExpr ()] -> SExpr ()
 disjoin conjuncts =
     case concatMap f conjuncts of
+      [] -> L () [S () "false"]
       [x] -> x
       xs -> L () (S () "or" : xs)
     where
diff --git a/tst/aik.tst b/tst/aik.tst
--- a/tst/aik.tst
+++ b/tst/aik.tst
@@ -1,6 +1,6 @@
 (herald "Anonymous identity protocol from TCG")
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from aik.scm")
 
 (defprotocol aikprot basic
diff --git a/tst/axiom2.tst b/tst/axiom2.tst
--- a/tst/axiom2.tst
+++ b/tst/axiom2.tst
@@ -1,6 +1,6 @@
 (herald "Axiom 2 Protocol" (bound 20))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from axiom2.scm")
 (comment "Strand count bounded at 20")
 
diff --git a/tst/blanchet.tst b/tst/blanchet.tst
--- a/tst/blanchet.tst
+++ b/tst/blanchet.tst
@@ -1,7 +1,7 @@
 (herald "Blanchet's Simple Example Protocol"
   (comment "There is a flaw in this protocol by design"))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from blanchet.scm")
 
 (defprotocol blanchet basic
diff --git a/tst/bltk_test.tst b/tst/bltk_test.tst
--- a/tst/bltk_test.tst
+++ b/tst/bltk_test.tst
@@ -1,6 +1,6 @@
 (herald "bltk Test File" (algebra diffie-hellman) (bound 12))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from bltk_test.scm")
 
 (defprotocol test diffie-hellman
diff --git a/tst/dh-ca.scm b/tst/dh-ca.scm
--- a/tst/dh-ca.scm
+++ b/tst/dh-ca.scm
@@ -2,30 +2,30 @@
 
 (defprotocol dhca diffie-hellman
   (defrole init
-    (vars (x expn) (a b ca name) (h base) (n text))
+    (vars (x rndx) (a b ca name) (y expt) (n text))
     (trace
      (send (enc "reg" (exp (gen) x) a (privk a)))
      (recv (enc (exp (gen) x) a (privk ca)))
      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-     (recv (cat h (enc h b (privk ca)) (enc n (exp h x))))
-     (send (enc "check" n (exp h x))))
+     (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca)) (enc n (exp (gen) (mul y x)))))
+     (send (enc "check" n (exp (gen) (mul y x)))))
     (uniq-gen x)
     (non-orig (privk ca)))
   (defrole resp
-    (vars (y expn) (a b ca name) (h base) (n text))
+    (vars (y rndx) (a b ca name) (x expt) (n text))
     (trace
      (send (enc "reg" (exp (gen) y) b (privk b)))
      (recv (enc (exp (gen) y) b (privk ca)))
-     (recv (cat h (enc h a (privk ca))))
+     (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
      (send (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-		(enc n (exp h y))))
-     (recv (enc "check" n (exp h y))))
+		(enc n (exp (gen) (mul x y)))))
+     (recv (enc "check" n (exp (gen) (mul x y)))))
     (uniq-gen y)
     (non-orig (privk ca)))
-  (defrole ca (vars (subject ca name) (h base))
+  (defrole ca (vars (subject ca name) (x expt))
     (trace
-     (recv (enc "reg" h subject (privk subject)))
-     (send (enc h subject (privk ca))))
+     (recv (enc "reg" (exp (gen) x) subject (privk subject)))
+     (send (enc (exp (gen) x) subject (privk ca))))
     (non-orig (privk subject))
     )
   (comment A diffie-hellman exchange which uses a certificate
@@ -45,9 +45,9 @@
 )
 
 (defskeleton dhca
-  (vars (a b ca name) (x y expn) (n text))
-  (defstrand init 5 (x x) (h (exp (gen) y)) (ca ca) (a a) (b b) (n n))
-  (defstrand resp 5 (y y) (h (exp (gen) x)) (ca ca) (a a) (b b) (n n))
+  (vars (a b ca name) (x y rndx) (n text))
+  (defstrand init 5 (x x) (y y) (ca ca) (a a) (b b) (n n))
+  (defstrand resp 5 (y y) (x x) (ca ca) (a a) (b b) (n n))
 (uniq-orig n)
 (comment point of view in which init and resp each complete and
     they agree on the relevant parameters)
diff --git a/tst/dh-ca.tst b/tst/dh-ca.tst
--- a/tst/dh-ca.tst
+++ b/tst/dh-ca.tst
@@ -1,3715 +1,3721 @@
 (herald dhca (algebra diffie-hellman))
 
-(comment "CPSA 3.4.0")
-(comment "All input read from dh-ca.scm")
-
-(defprotocol dhca diffie-hellman
-  (defrole init
-    (vars (x expn) (a b ca name) (h base) (n text))
-    (trace (send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv (cat h (enc h b (privk ca)) (enc n (exp h x))))
-      (send (enc "check" n (exp h x))))
-    (non-orig (privk ca))
-    (uniq-gen x))
-  (defrole resp
-    (vars (y expn) (a b ca name) (h base) (n text))
-    (trace (send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat h (enc h a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp h y)))) (recv (enc "check" n (exp h y))))
-    (non-orig (privk ca))
-    (uniq-gen y))
-  (defrole ca
-    (vars (subject ca name) (h base))
-    (trace (recv (enc "reg" h subject (privk subject)))
-      (send (enc h subject (privk ca))))
-    (non-orig (privk subject)))
-  (comment A diffie-hellman exchange which uses a certificate authority
-    to certify long-term DH values))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (h base) (x expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h h) (x x))
-  (non-orig (privk ca))
-  (uniq-gen x)
-  (comment Full initiator POV No need to make extra assumptions)
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv (cat h (enc h b (privk ca)) (enc n (exp h x))))
-      (send (enc "check" n (exp h x)))))
-  (label 0)
-  (unrealized (0 1) (0 3))
-  (origs)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (h base) (x expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h h) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk ca))
-  (uniq-gen x)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) x) a (privk ca)) (0 1))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv (cat h (enc h b (privk ca)) (enc n (exp h x))))
-      (send (enc "check" n (exp h x))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca)))))
-  (label 1)
-  (parent 0)
-  (unrealized (0 3))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (x expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) x)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk ca))
-  (uniq-gen x)
-  (operation encryption-test (displaced 2 1 ca 2) (enc h b (privk ca))
-    (0 3))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
-          (enc n (exp (gen) (mul x x)))))
-      (send (enc "check" n (exp (gen) (mul x x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca)))))
-  (label 2)
-  (parent 1)
-  (unrealized (0 3))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (h base) (x expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h h) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h h))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (0 3)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen x)
-  (operation encryption-test (added-strand ca 2) (enc h b (privk ca))
-    (0 3))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv (cat h (enc h b (privk ca)) (enc n (exp h x))))
-      (send (enc "check" n (exp h x))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" h b (privk b))) (send (enc h b (privk ca)))))
-  (label 3)
-  (parent 1)
-  (unrealized (0 3) (2 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca a-0 b ca-0 name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) x)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0)
-    (h (exp (gen) (mul x x (rec y)))) (y y))
-  (precedes ((0 0) (1 0)) ((0 0) (2 2)) ((1 1) (0 1)) ((2 3) (0 3)))
-  (non-orig (privk a) (privk ca) (privk ca-0))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand resp 4)
-    (enc n (exp (gen) (mul x x))) (0 3))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
-          (enc n (exp (gen) (mul x x)))))
-      (send (enc "check" n (exp (gen) (mul x x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca-0)))
-      (recv
-        (cat (exp (gen) (mul x x (rec y)))
-          (enc (exp (gen) (mul x x (rec y))) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
-          (enc n (exp (gen) (mul x x)))))))
-  (label 4)
-  (parent 2)
-  (unrealized (2 1) (2 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (x expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) x)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (deflistener (exp (gen) (mul x x)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
-  (non-orig (privk a) (privk ca))
-  (uniq-gen x)
-  (operation encryption-test (added-listener (exp (gen) (mul x x)))
-    (enc n (exp (gen) (mul x x))) (0 3))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
-          (enc n (exp (gen) (mul x x)))))
-      (send (enc "check" n (exp (gen) (mul x x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x)))))
-  (label 5)
-  (parent 2)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (y expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) y)) (x y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
-  (non-orig (privk a) (privk ca))
-  (uniq-gen y)
-  (operation encryption-test (displaced 3 0 resp 1)
-    (enc "reg" (exp (gen) y-0) b (privk b)) (2 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) a (privk a)))
-      (recv (enc (exp (gen) y) a (privk ca)))
-      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca)))))
-  (label 6)
-  (parent 3)
-  (unrealized (0 3))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 1 (b b) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (0 3)) ((3 0) (2 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand resp 1)
-    (enc "reg" (exp (gen) y) b (privk b)) (2 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))))
-  (label 7)
-  (parent 3)
-  (unrealized (0 3))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca a-0 b ca-0 name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) x)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0)
-    (h (exp (gen) (mul x x (rec y)))) (y y))
-  (defstrand ca 2 (subject b) (ca ca-0) (h (exp (gen) y)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 2)) ((1 1) (0 1)) ((2 0) (3 0))
-    ((2 3) (0 3)) ((3 1) (2 1)))
-  (non-orig (privk a) (privk ca) (privk b) (privk ca-0))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) y) b (privk ca-0)) (2 1))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
-          (enc n (exp (gen) (mul x x)))))
-      (send (enc "check" n (exp (gen) (mul x x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca-0)))
-      (recv
-        (cat (exp (gen) (mul x x (rec y)))
-          (enc (exp (gen) (mul x x (rec y))) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
-          (enc n (exp (gen) (mul x x))))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca-0)))))
-  (label 8)
-  (parent 4)
-  (unrealized (2 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (x expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) x)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (exp (gen) (mul x x (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk ca))
-  (uniq-gen x)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x (rec w))) w))
-    (exp (gen) (mul x x)) (2 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
-          (enc n (exp (gen) (mul x x)))))
-      (send (enc "check" n (exp (gen) (mul x x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (exp (gen) (mul x x (rec w))) w))
-      (send (cat (exp (gen) (mul x x (rec w))) w))))
-  (label 9)
-  (parent 5)
-  (unrealized (3 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca a-0 b ca-0 name) (y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) y)) (x y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0)
-    (h (exp (gen) (mul y y (rec y-0)))) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 2)) ((1 1) (0 1))
-    ((2 1) (0 3)) ((3 3) (0 3)))
-  (non-orig (privk a) (privk ca) (privk ca-0))
-  (uniq-gen y y-0)
-  (operation encryption-test (added-strand resp 4)
-    (enc n (exp (gen) (mul y y))) (0 3))
-  (traces
-    ((send (enc "reg" (exp (gen) y) a (privk a)))
-      (recv (enc (exp (gen) y) a (privk ca)))
-      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) b (privk b)))
-      (recv (enc (exp (gen) y-0) b (privk ca-0)))
-      (recv
-        (cat (exp (gen) (mul y y (rec y-0)))
-          (enc (exp (gen) (mul y y (rec y-0))) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b (privk ca-0))
-          (enc n (exp (gen) (mul y y)))))))
-  (label 10)
-  (parent 6)
-  (unrealized (3 1) (3 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (y expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) y)) (x y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 3)) ((3 1) (0 3)))
-  (non-orig (privk a) (privk ca))
-  (uniq-gen y)
-  (operation encryption-test (added-listener (exp (gen) (mul y y)))
-    (enc n (exp (gen) (mul y y))) (0 3))
-  (traces
-    ((send (enc "reg" (exp (gen) y) a (privk a)))
-      (recv (enc (exp (gen) y) a (privk ca)))
-      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y)))))
-  (label 11)
-  (parent 6)
-  (unrealized (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca a-0 b ca-0 name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (h (exp (gen) x))
-    (y y))
-  (precedes ((0 0) (1 0)) ((0 0) (3 2)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 3) (0 3)))
-  (non-orig (privk a) (privk ca) (privk b) (privk ca-0))
-  (uniq-gen x y)
-  (operation encryption-test (displaced 3 4 resp 4)
-    (enc n (exp (gen) (mul x y-0))) (0 3))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca-0)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
-          (enc n (exp (gen) (mul x y)))))))
-  (label 12)
-  (parent 7)
-  (unrealized (3 1) (3 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca a-0 b-0 ca-0 name) (x y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 1 (b b) (y y))
-  (defstrand resp 4 (n n) (a a-0) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul x y (rec y-0)))) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (4 2)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (4 2)) ((4 3) (0 3)))
-  (non-orig (privk a) (privk b) (privk ca) (privk ca-0))
-  (uniq-gen x y y-0)
-  (operation encryption-test (added-strand resp 4)
-    (enc n (exp (gen) (mul x y))) (0 3))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b))))
-    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))
-      (recv (enc (exp (gen) y-0) b-0 (privk ca-0)))
-      (recv
-        (cat (exp (gen) (mul x y (rec y-0)))
-          (enc (exp (gen) (mul x y (rec y-0))) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul x y)))))))
-  (label 13)
-  (parent 7)
-  (unrealized (4 1) (4 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 1 (b b) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 3)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen x y)
-  (operation encryption-test (added-listener (exp (gen) (mul x y)))
-    (enc n (exp (gen) (mul x y))) (0 3))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
-  (label 14)
-  (parent 7)
-  (unrealized (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca a-0 b ca-0 name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) x)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0)
-    (h (exp (gen) (mul x x (rec y)))) (y y))
-  (defstrand ca 2 (subject b) (ca ca-0) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a-0) (ca ca-0)
-    (h (exp (gen) (mul x x (rec y)))))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 0) (3 0))
-    ((2 0) (4 0)) ((2 3) (0 3)) ((3 1) (2 1)) ((4 1) (2 2)))
-  (non-orig (privk a) (privk ca) (privk a-0) (privk b) (privk ca-0))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) (mul x x (rec y))) a-0 (privk ca-0)) (2 2))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
-          (enc n (exp (gen) (mul x x)))))
-      (send (enc "check" n (exp (gen) (mul x x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca-0)))
-      (recv
-        (cat (exp (gen) (mul x x (rec y)))
-          (enc (exp (gen) (mul x x (rec y))) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
-          (enc n (exp (gen) (mul x x))))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca-0))))
-    ((recv (enc "reg" (exp (gen) (mul x x (rec y))) a-0 (privk a-0)))
-      (send (enc (exp (gen) (mul x x (rec y))) a-0 (privk ca-0)))))
-  (label 15)
-  (parent 8)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (x expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) x)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk ca))
-  (uniq-gen x)
-  (precur (3 0))
-  (operation nonce-test (contracted (x-0 x) (w (mul x x))) (gen) (3 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
-          (enc n (exp (gen) (mul x x)))))
-      (send (enc "check" n (exp (gen) (mul x x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x)))))
-  (label 16)
-  (parent 9)
-  (unrealized (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (y expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) y)) (x y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (exp (gen) y) y))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk ca))
-  (precur (3 0))
-  (uniq-gen y)
-  (operation nonce-test (displaced 4 0 resp 1) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) a (privk a)))
-      (recv (enc (exp (gen) y) a (privk ca)))
-      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (exp (gen) y) y)) (send (cat (exp (gen) y) y))))
-  (label 17)
-  (parent 9)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a ca b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) x)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (exp (gen) y) (mul x x (rec y))))
-  (defstrand resp 1 (b b) (y y))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 1) (2 0)) ((4 0) (3 0)))
-  (non-orig (privk a) (privk ca))
-  (precur (3 0))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand resp 1) (exp (gen) y) (3 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
-          (enc n (exp (gen) (mul x x)))))
-      (send (enc "check" n (exp (gen) (mul x x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (exp (gen) y) (mul x x (rec y))))
-      (send (cat (exp (gen) y) (mul x x (rec y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))))
-  (label 18)
-  (parent 9)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a ca a-0 b ca-0 name) (y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) y)) (x y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0)
-    (h (exp (gen) (mul y y (rec y-0)))) (y y-0))
-  (defstrand ca 2 (subject b) (ca ca-0) (h (exp (gen) y-0)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 2)) ((1 1) (0 1))
-    ((2 1) (0 3)) ((3 0) (4 0)) ((3 3) (0 3)) ((4 1) (3 1)))
-  (non-orig (privk a) (privk ca) (privk b) (privk ca-0))
-  (uniq-gen y y-0)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) y-0) b (privk ca-0)) (3 1))
-  (traces
-    ((send (enc "reg" (exp (gen) y) a (privk a)))
-      (recv (enc (exp (gen) y) a (privk ca)))
-      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) b (privk b)))
-      (recv (enc (exp (gen) y-0) b (privk ca-0)))
-      (recv
-        (cat (exp (gen) (mul y y (rec y-0)))
-          (enc (exp (gen) (mul y y (rec y-0))) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b (privk ca-0))
-          (enc n (exp (gen) (mul y y))))))
-    ((recv (enc "reg" (exp (gen) y-0) b (privk b)))
-      (send (enc (exp (gen) y-0) b (privk ca-0)))))
-  (label 19)
-  (parent 10)
-  (unrealized (3 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (y expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) y)) (x y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (exp (gen) (mul y y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 3)) ((3 1) (0 3)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk ca))
-  (uniq-gen y)
-  (precur (4 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y y (rec w))) w))
-    (exp (gen) (mul y y)) (3 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) a (privk a)))
-      (recv (enc (exp (gen) y) a (privk ca)))
-      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (exp (gen) (mul y y (rec w))) w))
-      (send (cat (exp (gen) (mul y y (rec w))) w))))
-  (label 20)
-  (parent 11)
-  (unrealized (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca a-0 b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 0) (3 2)) ((1 1) (0 1)) ((2 1) (3 1))
-    ((3 0) (2 0)) ((3 3) (0 3)))
-  (non-orig (privk a) (privk ca) (privk b))
-  (uniq-gen x y)
-  (operation encryption-test (displaced 4 2 ca 2)
-    (enc (exp (gen) y) b (privk ca-0)) (3 1))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))))
-  (label 21)
-  (parent 12)
-  (unrealized (3 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca a-0 b ca-0 name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (h (exp (gen) x))
-    (y y))
-  (defstrand ca 2 (subject b) (ca ca-0) (h (exp (gen) y)))
-  (precedes ((0 0) (1 0)) ((0 0) (3 2)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 3) (0 3)) ((4 1) (3 1)))
-  (non-orig (privk a) (privk ca) (privk b) (privk ca-0))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) y) b (privk ca-0)) (3 1))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca-0)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
-          (enc n (exp (gen) (mul x y))))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca-0)))))
-  (label 22)
-  (parent 12)
-  (unrealized (3 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca a-0 b-0 ca-0 name) (x y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 1 (b b) (y y))
-  (defstrand resp 4 (n n) (a a-0) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul x y (rec y-0)))) (y y-0))
-  (defstrand ca 2 (subject b-0) (ca ca-0) (h (exp (gen) y-0)))
-  (precedes ((0 0) (1 0)) ((0 0) (4 2)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (4 2)) ((4 0) (5 0)) ((4 3) (0 3))
-    ((5 1) (4 1)))
-  (non-orig (privk a) (privk b) (privk ca) (privk b-0) (privk ca-0))
-  (uniq-gen x y y-0)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) y-0) b-0 (privk ca-0)) (4 1))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b))))
-    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))
-      (recv (enc (exp (gen) y-0) b-0 (privk ca-0)))
-      (recv
-        (cat (exp (gen) (mul x y (rec y-0)))
-          (enc (exp (gen) (mul x y (rec y-0))) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul x y))))))
-    ((recv (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))
-      (send (enc (exp (gen) y-0) b-0 (privk ca-0)))))
-  (label 23)
-  (parent 13)
-  (unrealized (4 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 1 (b b) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) (mul x y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 3)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen x y)
-  (precur (5 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x y (rec w))) w))
-    (exp (gen) (mul x y)) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) (mul x y (rec w))) w))
-      (send (cat (exp (gen) (mul x y (rec w))) w))))
-  (label 24)
-  (parent 14)
-  (unrealized (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (x expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) x)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk ca))
-  (uniq-gen x)
-  (precur (3 0))
-  (operation nonce-test (added-listener x) (mul x x) (3 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
-          (enc n (exp (gen) (mul x x)))))
-      (send (enc "check" n (exp (gen) (mul x x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x))))
-    ((recv x) (send x)))
-  (label 25)
-  (parent 16)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a ca a-0 b ca-0 name) (y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) y)) (x y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0)
-    (h (exp (gen) (mul y y (rec y-0)))) (y y-0))
-  (defstrand ca 2 (subject b) (ca ca-0) (h (exp (gen) y-0)))
-  (defstrand ca 2 (subject a-0) (ca ca-0)
-    (h (exp (gen) (mul y y (rec y-0)))))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 3)) ((3 0) (4 0)) ((3 0) (5 0)) ((3 3) (0 3))
-    ((4 1) (3 1)) ((5 1) (3 2)))
-  (non-orig (privk a) (privk ca) (privk a-0) (privk b) (privk ca-0))
-  (uniq-gen y y-0)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) (mul y y (rec y-0))) a-0 (privk ca-0)) (3 2))
-  (traces
-    ((send (enc "reg" (exp (gen) y) a (privk a)))
-      (recv (enc (exp (gen) y) a (privk ca)))
-      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) b (privk b)))
-      (recv (enc (exp (gen) y-0) b (privk ca-0)))
-      (recv
-        (cat (exp (gen) (mul y y (rec y-0)))
-          (enc (exp (gen) (mul y y (rec y-0))) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b (privk ca-0))
-          (enc n (exp (gen) (mul y y))))))
-    ((recv (enc "reg" (exp (gen) y-0) b (privk b)))
-      (send (enc (exp (gen) y-0) b (privk ca-0))))
-    ((recv (enc "reg" (exp (gen) (mul y y (rec y-0))) a-0 (privk a-0)))
-      (send (enc (exp (gen) (mul y y (rec y-0))) a-0 (privk ca-0)))))
-  (label 26)
-  (parent 19)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (y expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) y)) (x y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (gen) (mul y y)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 3)) ((3 1) (0 3)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk ca))
-  (uniq-gen y)
-  (precur (4 0))
-  (operation nonce-test (contracted (y-0 y) (w (mul y y))) (gen) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) a (privk a)))
-      (recv (enc (exp (gen) y) a (privk ca)))
-      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y)))))
-  (label 27)
-  (parent 20)
-  (unrealized (3 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (y expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) y)) (x y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (exp (gen) y) y))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 3)) ((3 1) (0 3)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk ca))
-  (precur (4 0))
-  (uniq-gen y)
-  (operation nonce-test (displaced 5 0 resp 1) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) a (privk a)))
-      (recv (enc (exp (gen) y) a (privk ca)))
-      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (exp (gen) y) y)) (send (cat (exp (gen) y) y))))
-  (label 28)
-  (parent 20)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a ca b name) (y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) y)) (x y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (exp (gen) y-0) (mul y y (rec y-0))))
-  (defstrand resp 1 (b b) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 3)) ((3 1) (0 3)) ((4 1) (3 0)) ((5 0) (4 0)))
-  (non-orig (privk a) (privk ca))
-  (precur (4 0))
-  (uniq-gen y y-0)
-  (operation nonce-test (added-strand resp 1) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) a (privk a)))
-      (recv (enc (exp (gen) y) a (privk ca)))
-      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (exp (gen) y-0) (mul y y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y y (rec y-0)))))
-    ((send (enc "reg" (exp (gen) y-0) b (privk b)))))
-  (label 29)
-  (parent 20)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a ca b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 2)) ((2 1) (3 1))
-    ((3 0) (2 0)) ((3 3) (0 3)))
-  (non-orig (privk a) (privk ca) (privk b))
-  (uniq-gen x y)
-  (operation encryption-test (displaced 4 1 ca 2)
-    (enc (exp (gen) x) a-0 (privk ca)) (3 2))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))))
-  (label 30)
-  (parent 21)
-  (unrealized)
-  (shape)
-  (maps ((0) ((x x) (a a) (b b) (ca ca) (h (exp (gen) y)) (n n))))
-  (origs))
-
-(defskeleton dhca
-  (vars (n text) (a ca a-0 b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject a-0) (ca ca) (h (exp (gen) x)))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (3 1))
-    ((3 0) (2 0)) ((3 3) (0 3)) ((4 1) (3 2)))
-  (non-orig (privk a) (privk ca) (privk a-0) (privk b))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) x) a-0 (privk ca)) (3 2))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y))))))
-    ((recv (enc "reg" (exp (gen) x) a-0 (privk a-0)))
-      (send (enc (exp (gen) x) a-0 (privk ca)))))
-  (label 31)
-  (parent 21)
-  (unrealized (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 2)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 3) (0 3)) ((4 1) (3 1)))
-  (non-orig (privk a) (privk ca) (privk b))
-  (uniq-gen x y)
-  (operation encryption-test (displaced 5 1 ca 2)
-    (enc (exp (gen) x) a-0 (privk ca-0)) (3 2))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y))))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca)))))
-  (label 32)
-  (parent 22)
-  (seen 30)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a ca a-0 b ca-0 name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (h (exp (gen) x))
-    (y y))
-  (defstrand ca 2 (subject b) (ca ca-0) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a-0) (ca ca-0) (h (exp (gen) x)))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 3) (0 3)) ((4 1) (3 1))
-    ((5 1) (3 2)))
-  (non-orig (privk a) (privk ca) (privk a-0) (privk b) (privk ca-0))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) x) a-0 (privk ca-0)) (3 2))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca-0)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
-          (enc n (exp (gen) (mul x y))))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca-0))))
-    ((recv (enc "reg" (exp (gen) x) a-0 (privk a-0)))
-      (send (enc (exp (gen) x) a-0 (privk ca-0)))))
-  (label 33)
-  (parent 22)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca a-0 b-0 ca-0 name) (x y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 1 (b b) (y y))
-  (defstrand resp 4 (n n) (a a-0) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul x y (rec y-0)))) (y y-0))
-  (defstrand ca 2 (subject b-0) (ca ca-0) (h (exp (gen) y-0)))
-  (defstrand ca 2 (subject a-0) (ca ca-0)
-    (h (exp (gen) (mul x y (rec y-0)))))
-  (precedes ((0 0) (1 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (6 0)) ((4 0) (5 0)) ((4 0) (6 0))
-    ((4 3) (0 3)) ((5 1) (4 1)) ((6 1) (4 2)))
-  (non-orig (privk a) (privk b) (privk ca) (privk a-0) (privk b-0)
-    (privk ca-0))
-  (uniq-gen x y y-0)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) (mul x y (rec y-0))) a-0 (privk ca-0)) (4 2))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b))))
-    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))
-      (recv (enc (exp (gen) y-0) b-0 (privk ca-0)))
-      (recv
-        (cat (exp (gen) (mul x y (rec y-0)))
-          (enc (exp (gen) (mul x y (rec y-0))) a-0 (privk ca-0))))
-      (send
-        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul x y))))))
-    ((recv (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))
-      (send (enc (exp (gen) y-0) b-0 (privk ca-0))))
-    ((recv (enc "reg" (exp (gen) (mul x y (rec y-0))) a-0 (privk a-0)))
-      (send (enc (exp (gen) (mul x y (rec y-0))) a-0 (privk ca-0)))))
-  (label 34)
-  (parent 23)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 1 (b b) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 3)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen x y)
-  (precur (5 0))
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul x y))) (gen)
-    (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))))
-  (label 35)
-  (parent 24)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x y-0))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 1 (b b) (y y))
-  (deflistener (exp (gen) (mul y y-0)))
-  (deflistener (cat (exp (gen) y-0) y))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 3)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (precur (5 0))
-  (uniq-gen y y-0)
-  (operation nonce-test (displaced 6 0 resp 1) (exp (gen) y-1) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y-0) a (privk a)))
-      (recv (enc (exp (gen) y-0) a (privk ca)))
-      (send (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (send (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b))))
-    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
-    ((recv (cat (exp (gen) y-0) y)) (send (cat (exp (gen) y-0) y))))
-  (label 36)
-  (parent 24)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 1 (b b) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 3)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (precur (5 0))
-  (uniq-gen x y)
-  (operation nonce-test (displaced 6 3 resp 1) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 37)
-  (parent 24)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca b-0 name) (x y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 1 (b b) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y-0) (mul x y (rec y-0))))
-  (defstrand resp 1 (b b-0) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 3)) ((5 1) (4 0))
-    ((6 0) (5 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (precur (5 0))
-  (uniq-gen x y y-0)
-  (operation nonce-test (added-strand resp 1) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y-0) (mul x y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul x y (rec y-0)))))
-    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))))
-  (label 38)
-  (parent 24)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a ca name) (y expn))
-  (defstrand init 5 (n n) (a a) (b a) (ca ca) (h (exp (gen) y)) (x y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (gen) (mul y y)))
-  (deflistener y)
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 3)) ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk ca))
-  (uniq-gen y)
-  (precur (4 0))
-  (operation nonce-test (added-listener y) (mul y y) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) a (privk a)))
-      (recv (enc (exp (gen) y) a (privk ca)))
-      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y))))
-    ((recv y) (send y)))
-  (label 39)
-  (parent 27)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a ca b name) (y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x y-0))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) y-0)) (y y))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (3 1))
-    ((3 0) (2 0)) ((3 3) (0 3)) ((4 1) (3 2)))
-  (non-orig (privk a) (privk ca) (privk b))
-  (uniq-gen y y-0)
-  (operation encryption-test (displaced 5 0 resp 1)
-    (enc "reg" (exp (gen) y-0) a-0 (privk a-0)) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y-0) a (privk a)))
-      (recv (enc (exp (gen) y-0) a (privk ca)))
-      (send (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (send (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0))))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca)))))
-  (label 40)
-  (parent 31)
-  (unrealized)
-  (shape)
-  (maps ((0) ((x y-0) (a a) (b b) (ca ca) (h (exp (gen) y)) (n n))))
-  (origs))
-
-(defskeleton dhca
-  (vars (n text) (a ca b ca-0 name) (y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x y-0))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 4 (n n) (a a) (b b) (ca ca-0) (h (exp (gen) y-0))
-    (y y))
-  (defstrand ca 2 (subject b) (ca ca-0) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca-0) (h (exp (gen) y-0)))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 3) (0 3)) ((4 1) (3 1))
-    ((5 1) (3 2)))
-  (non-orig (privk a) (privk ca) (privk b) (privk ca-0))
-  (uniq-gen y y-0)
-  (operation encryption-test (displaced 6 0 resp 1)
-    (enc "reg" (exp (gen) y-0) a-0 (privk a-0)) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y-0) a (privk a)))
-      (recv (enc (exp (gen) y-0) a (privk ca)))
-      (send (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (send (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca-0)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca-0))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
-          (enc n (exp (gen) (mul y y-0))))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca-0))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca-0)))))
-  (label 41)
-  (parent 33)
-  (unrealized)
-  (shape)
-  (maps ((0) ((x y-0) (a a) (b b) (ca ca) (h (exp (gen) y)) (n n))))
-  (origs))
-
-(comment "Nothing left to do")
-
-(defprotocol dhca diffie-hellman
-  (defrole init
-    (vars (x expn) (a b ca name) (h base) (n text))
-    (trace (send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv (cat h (enc h b (privk ca)) (enc n (exp h x))))
-      (send (enc "check" n (exp h x))))
-    (non-orig (privk ca))
-    (uniq-gen x))
-  (defrole resp
-    (vars (y expn) (a b ca name) (h base) (n text))
-    (trace (send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat h (enc h a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp h y)))) (recv (enc "check" n (exp h y))))
-    (non-orig (privk ca))
-    (uniq-gen y))
-  (defrole ca
-    (vars (subject ca name) (h base))
-    (trace (recv (enc "reg" h subject (privk subject)))
-      (send (enc h subject (privk ca))))
-    (non-orig (privk subject)))
-  (comment A diffie-hellman exchange which uses a certificate authority
-    to certify long-term DH values))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (h base) (y expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h h) (y y))
-  (non-orig (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (comment Full responder point of view with freshly chosen n)
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat h (enc h a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp h y)))) (recv (enc "check" n (exp h y)))))
-  (label 42)
-  (unrealized (0 1) (0 2) (0 4))
-  (origs (n (0 3)))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (h base) (y expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h h) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) y) b (privk ca)) (0 1))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat h (enc h a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp h y)))) (recv (enc "check" n (exp h y))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca)))))
-  (label 43)
-  (parent 42)
-  (unrealized (0 2) (0 4))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (operation encryption-test (displaced 2 1 ca 2) (enc h a (privk ca))
-    (0 2))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca)))))
-  (label 44)
-  (parent 43)
-  (unrealized (0 4))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (h base) (y expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h h) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h h))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (0 2)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2) (enc h a (privk ca))
-    (0 2))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat h (enc h a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp h y)))) (recv (enc "check" n (exp h y))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" h a (privk a))) (send (enc h a (privk ca)))))
-  (label 45)
-  (parent 43)
-  (unrealized (0 4) (2 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a b-0 ca-0 name) (y x expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul y y (rec x)))) (x x))
-  (precedes ((0 0) (1 0)) ((0 3) (2 3)) ((1 1) (0 1)) ((2 4) (0 4)))
-  (non-orig (privk b) (privk ca) (privk ca-0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand init 5)
-    (enc "check" n (exp (gen) (mul y y))) (0 4))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul y y (rec x)))
-          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y))))))
-  (label 46)
-  (parent 44)
-  (unrealized (2 1) (2 3))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 4)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (operation encryption-test (added-listener (exp (gen) (mul y y)))
-    (enc "check" n (exp (gen) (mul y y))) (0 4))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y)))))
-  (label 47)
-  (parent 44)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 2)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (operation encryption-test (displaced 3 0 resp 1)
-    (enc "reg" (exp (gen) y-0) a (privk a)) (2 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca)))))
-  (label 48)
-  (parent 45)
-  (unrealized (0 4))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (y y-0 expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y-0)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand resp 1 (b a) (y y-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (0 2)) ((3 0) (2 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen y y-0)
-  (uniq-orig n)
-  (operation encryption-test (added-strand resp 1)
-    (enc "reg" (exp (gen) y-0) a (privk a)) (2 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (recv (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) a (privk a)))))
-  (label 49)
-  (parent 45)
-  (unrealized (0 4))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a b-0 ca-0 name) (y x expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul y y (rec x)))) (x x))
-  (defstrand ca 2 (subject a) (ca ca-0) (h (exp (gen) x)))
-  (precedes ((0 0) (1 0)) ((0 3) (2 3)) ((1 1) (0 1)) ((2 0) (3 0))
-    ((2 4) (0 4)) ((3 1) (2 1)))
-  (non-orig (privk b) (privk ca) (privk a) (privk ca-0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) x) a (privk ca-0)) (2 1))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul y y (rec x)))
-          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca-0)))))
-  (label 50)
-  (parent 46)
-  (unrealized (2 3))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn) (w expr))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (exp (gen) (mul y y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 4))
-    ((3 1) (2 0)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y y (rec w))) w))
-    (exp (gen) (mul y y)) (2 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (exp (gen) (mul y y (rec w))) w))
-      (send (cat (exp (gen) (mul y y (rec w))) w))))
-  (label 51)
-  (parent 47)
-  (unrealized (3 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a b-0 ca-0 name) (y x expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul y y (rec x)))) (x x))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 3) (3 3)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((3 4) (0 4)))
-  (non-orig (privk b) (privk ca) (privk ca-0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand init 5)
-    (enc "check" n (exp (gen) (mul y y))) (0 4))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul y y (rec x)))
-          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y))))))
-  (label 52)
-  (parent 48)
-  (unrealized (3 1) (3 3))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((3 1) (0 4)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (operation encryption-test (added-listener (exp (gen) (mul y y)))
-    (enc "check" n (exp (gen) (mul y y))) (0 4))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y)))))
-  (label 53)
-  (parent 48)
-  (unrealized (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a b-0 ca-0 name) (y x expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (h (exp (gen) y))
-    (x x))
-  (precedes ((0 0) (1 0)) ((0 3) (3 3)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((3 0) (2 0)) ((3 4) (0 4)))
-  (non-orig (privk b) (privk ca) (privk a) (privk ca-0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (displaced 3 4 init 5)
-    (enc "check" n (exp (gen) (mul y y-0))) (0 4))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (recv (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y x)))))
-      (send (enc "check" n (exp (gen) (mul y x))))))
-  (label 54)
-  (parent 49)
-  (unrealized (3 1) (3 3))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca a-0 b-0 ca-0 name) (y y-0 x expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y-0)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand resp 1 (b a) (y y-0))
-  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul y y-0 (rec x)))) (x x))
-  (precedes ((0 0) (1 0)) ((0 3) (4 3)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((3 0) (2 0)) ((4 4) (0 4)))
-  (non-orig (privk a) (privk b) (privk ca) (privk ca-0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand init 5)
-    (enc "check" n (exp (gen) (mul y y-0))) (0 4))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (recv (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
-    ((send (enc "reg" (exp (gen) x) a-0 (privk a-0)))
-      (recv (enc (exp (gen) x) a-0 (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul y y-0 (rec x)))
-          (enc (exp (gen) (mul y y-0 (rec x))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y y-0)))))
-      (send (enc "check" n (exp (gen) (mul y y-0))))))
-  (label 55)
-  (parent 49)
-  (unrealized (4 1) (4 3))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (y y-0 expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y-0)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand resp 1 (b a) (y y-0))
-  (deflistener (exp (gen) (mul y y-0)))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 4)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen y y-0)
-  (uniq-orig n)
-  (operation encryption-test (added-listener (exp (gen) (mul y y-0)))
-    (enc "check" n (exp (gen) (mul y y-0))) (0 4))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (recv (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
-    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0)))))
-  (label 56)
-  (parent 49)
-  (unrealized (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a b-0 ca-0 name) (y x expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul y y (rec x)))) (x x))
-  (defstrand ca 2 (subject a) (ca ca-0) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b-0) (ca ca-0)
-    (h (exp (gen) (mul y y (rec x)))))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 3) (2 3)) ((1 1) (0 1))
-    ((2 0) (3 0)) ((2 0) (4 0)) ((2 4) (0 4)) ((3 1) (2 1))
-    ((4 1) (2 3)))
-  (non-orig (privk b) (privk ca) (privk a) (privk b-0) (privk ca-0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0)) (2 3))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul y y (rec x)))
-          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca-0))))
-    ((recv (enc "reg" (exp (gen) (mul y y (rec x))) b-0 (privk b-0)))
-      (send (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0)))))
-  (label 57)
-  (parent 50)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (gen) (mul y y)))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 4))
-    ((3 1) (2 0)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test (contracted (y-0 y) (w (mul y y))) (gen) (3 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y)))))
-  (label 58)
-  (parent 51)
-  (unrealized (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (exp (gen) y) y))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 4))
-    ((3 1) (2 0)))
-  (non-orig (privk b) (privk ca))
-  (precur (3 0))
-  (uniq-gen y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 resp 1) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (exp (gen) y) y)) (send (cat (exp (gen) y) y))))
-  (label 59)
-  (parent 51)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (b ca b-0 name) (y y-0 expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (exp (gen) y-0) (mul y y (rec y-0))))
-  (defstrand resp 1 (b b-0) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 4))
-    ((3 1) (2 0)) ((4 0) (3 0)))
-  (non-orig (privk b) (privk ca))
-  (precur (3 0))
-  (uniq-gen y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 1) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (exp (gen) y-0) (mul y y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y y (rec y-0)))))
-    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))))
-  (label 60)
-  (parent 51)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a b-0 ca-0 name) (y x expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul y y (rec x)))) (x x))
-  (defstrand ca 2 (subject a) (ca ca-0) (h (exp (gen) x)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 3) (3 3)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((3 0) (4 0)) ((3 4) (0 4)) ((4 1) (3 1)))
-  (non-orig (privk b) (privk ca) (privk a) (privk ca-0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) x) a (privk ca-0)) (3 1))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul y y (rec x)))
-          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca-0)))))
-  (label 61)
-  (parent 52)
-  (unrealized (3 3))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn) (w expr))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (exp (gen) (mul y y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((3 1) (0 4)) ((4 1) (3 0)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (precur (4 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y y (rec w))) w))
-    (exp (gen) (mul y y)) (3 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (exp (gen) (mul y y (rec w))) w))
-      (send (cat (exp (gen) (mul y y (rec w))) w))))
-  (label 62)
-  (parent 53)
-  (unrealized (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a) (b b-0) (ca ca) (h (exp (gen) y)) (x x))
-  (precedes ((0 0) (1 0)) ((0 3) (3 3)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((2 1) (3 1)) ((3 0) (2 0)) ((3 4) (0 4)))
-  (non-orig (privk b) (privk ca) (privk a))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (displaced 4 2 ca 2)
-    (enc (exp (gen) x) a (privk ca-0)) (3 1))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (recv (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b-0 (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (send (enc "check" n (exp (gen) (mul y x))))))
-  (label 63)
-  (parent 54)
-  (unrealized (3 3))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a b-0 ca-0 name) (y x expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (h (exp (gen) y))
-    (x x))
-  (defstrand ca 2 (subject a) (ca ca-0) (h (exp (gen) x)))
-  (precedes ((0 0) (1 0)) ((0 3) (3 3)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 4) (0 4)) ((4 1) (3 1)))
-  (non-orig (privk b) (privk ca) (privk a) (privk ca-0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) x) a (privk ca-0)) (3 1))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (recv (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y x)))))
-      (send (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca-0)))))
-  (label 64)
-  (parent 54)
-  (unrealized (3 3))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca a-0 b-0 ca-0 name) (y y-0 x expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y-0)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand resp 1 (b a) (y y-0))
-  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul y y-0 (rec x)))) (x x))
-  (defstrand ca 2 (subject a-0) (ca ca-0) (h (exp (gen) x)))
-  (precedes ((0 0) (1 0)) ((0 3) (4 3)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((3 0) (2 0)) ((4 0) (5 0)) ((4 4) (0 4)) ((5 1) (4 1)))
-  (non-orig (privk a) (privk b) (privk ca) (privk a-0) (privk ca-0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) x) a-0 (privk ca-0)) (4 1))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (recv (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
-    ((send (enc "reg" (exp (gen) x) a-0 (privk a-0)))
-      (recv (enc (exp (gen) x) a-0 (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul y y-0 (rec x)))
-          (enc (exp (gen) (mul y y-0 (rec x))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y y-0)))))
-      (send (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) x) a-0 (privk a-0)))
-      (send (enc (exp (gen) x) a-0 (privk ca-0)))))
-  (label 65)
-  (parent 55)
-  (unrealized (4 3))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (y y-0 expn) (w expr))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y-0)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand resp 1 (b a) (y y-0))
-  (deflistener (exp (gen) (mul y y-0)))
-  (deflistener (cat (exp (gen) (mul y y-0 (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 4)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen y y-0)
-  (uniq-orig n)
-  (precur (5 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y y-0 (rec w))) w))
-    (exp (gen) (mul y y-0)) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (recv (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
-    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
-    ((recv (cat (exp (gen) (mul y y-0 (rec w))) w))
-      (send (cat (exp (gen) (mul y y-0 (rec w))) w))))
-  (label 66)
-  (parent 56)
-  (unrealized (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (gen) (mul y y)))
-  (deflistener y)
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 4))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test (added-listener y) (mul y y) (3 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y))))
-    ((recv y) (send y)))
-  (label 67)
-  (parent 58)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a b-0 ca-0 name) (y x expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul y y (rec x)))) (x x))
-  (defstrand ca 2 (subject a) (ca ca-0) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b-0) (ca ca-0)
-    (h (exp (gen) (mul y y (rec x)))))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (5 0)) ((0 3) (3 3))
-    ((1 1) (0 1)) ((2 1) (0 2)) ((3 0) (4 0)) ((3 0) (5 0))
-    ((3 4) (0 4)) ((4 1) (3 1)) ((5 1) (3 3)))
-  (non-orig (privk b) (privk ca) (privk a) (privk b-0) (privk ca-0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0)) (3 3))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul y y (rec x)))
-          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y y)))))
-      (send (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca-0))))
-    ((recv (enc "reg" (exp (gen) (mul y y (rec x))) b-0 (privk b-0)))
-      (send (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0)))))
-  (label 68)
-  (parent 61)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (gen) (mul y y)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((3 1) (0 4)) ((4 1) (3 0)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (precur (4 0))
-  (operation nonce-test (contracted (y-0 y) (w (mul y y))) (gen) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y)))))
-  (label 69)
-  (parent 62)
-  (unrealized (3 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (exp (gen) y) y))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((3 1) (0 4)) ((4 1) (3 0)))
-  (non-orig (privk b) (privk ca))
-  (precur (4 0))
-  (uniq-gen y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 resp 1) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (exp (gen) y) y)) (send (cat (exp (gen) y) y))))
-  (label 70)
-  (parent 62)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (b ca b-0 name) (y y-0 expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (exp (gen) y-0) (mul y y (rec y-0))))
-  (defstrand resp 1 (b b-0) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((3 1) (0 4)) ((4 1) (3 0)) ((5 0) (4 0)))
-  (non-orig (privk b) (privk ca))
-  (precur (4 0))
-  (uniq-gen y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 1) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (exp (gen) y-0) (mul y y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y y (rec y-0)))))
-    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))))
-  (label 71)
-  (parent 62)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a name) (y x expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (precedes ((0 0) (1 0)) ((0 3) (3 3)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((2 1) (3 1)) ((3 0) (2 0)) ((3 4) (0 4)))
-  (non-orig (privk b) (privk ca) (privk a))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (displaced 4 1 ca 2)
-    (enc (exp (gen) y) b-0 (privk ca)) (3 3))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (recv (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (send (enc "check" n (exp (gen) (mul y x))))))
-  (label 72)
-  (parent 63)
-  (unrealized)
-  (shape)
-  (maps ((0) ((n n) (y y) (a a) (b b) (ca ca) (h (exp (gen) x)))))
-  (origs (n (0 3))))
-
-(defskeleton dhca
-  (vars (n text) (b ca a b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a) (b b-0) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject b-0) (ca ca) (h (exp (gen) y)))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 3) (3 3)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((2 1) (3 1)) ((3 0) (2 0)) ((3 4) (0 4))
-    ((4 1) (3 3)))
-  (non-orig (privk b) (privk ca) (privk a) (privk b-0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) y) b-0 (privk ca)) (3 3))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (recv (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b-0 (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (send (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) y) b-0 (privk b-0)))
-      (send (enc (exp (gen) y) b-0 (privk ca)))))
-  (label 73)
-  (parent 63)
-  (unrealized (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a name) (y x expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (precedes ((0 0) (1 0)) ((0 3) (3 3)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 4) (0 4)) ((4 1) (3 1)))
-  (non-orig (privk b) (privk ca) (privk a))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (displaced 5 1 ca 2)
-    (enc (exp (gen) y) b-0 (privk ca-0)) (3 3))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (recv (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (send (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca)))))
-  (label 74)
-  (parent 64)
-  (unrealized)
-  (shape)
-  (maps ((0) ((n n) (y y) (a a) (b b) (ca ca) (h (exp (gen) x)))))
-  (origs (n (0 3))))
-
-(defskeleton dhca
-  (vars (n text) (b ca a b-0 ca-0 name) (y x expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (h (exp (gen) y))
-    (x x))
-  (defstrand ca 2 (subject a) (ca ca-0) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b-0) (ca ca-0) (h (exp (gen) y)))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((0 3) (3 3)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 4) (0 4))
-    ((4 1) (3 1)) ((5 1) (3 3)))
-  (non-orig (privk b) (privk ca) (privk a) (privk b-0) (privk ca-0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) y) b-0 (privk ca-0)) (3 3))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (recv (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y x)))))
-      (send (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca-0))))
-    ((recv (enc "reg" (exp (gen) y) b-0 (privk b-0)))
-      (send (enc (exp (gen) y) b-0 (privk ca-0)))))
-  (label 75)
-  (parent 64)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca a-0 b-0 ca-0 name) (y y-0 x expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y-0)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand resp 1 (b a) (y y-0))
-  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul y y-0 (rec x)))) (x x))
-  (defstrand ca 2 (subject a-0) (ca ca-0) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b-0) (ca ca-0)
-    (h (exp (gen) (mul y y-0 (rec x)))))
-  (precedes ((0 0) (1 0)) ((0 0) (6 0)) ((0 3) (4 3)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((3 0) (2 0)) ((3 0) (6 0)) ((4 0) (5 0))
-    ((4 0) (6 0)) ((4 4) (0 4)) ((5 1) (4 1)) ((6 1) (4 3)))
-  (non-orig (privk a) (privk b) (privk ca) (privk a-0) (privk b-0)
-    (privk ca-0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) (mul y y-0 (rec x))) b-0 (privk ca-0)) (4 3))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (recv (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
-    ((send (enc "reg" (exp (gen) x) a-0 (privk a-0)))
-      (recv (enc (exp (gen) x) a-0 (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul y y-0 (rec x)))
-          (enc (exp (gen) (mul y y-0 (rec x))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul y y-0)))))
-      (send (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) x) a-0 (privk a-0)))
-      (send (enc (exp (gen) x) a-0 (privk ca-0))))
-    ((recv (enc "reg" (exp (gen) (mul y y-0 (rec x))) b-0 (privk b-0)))
-      (send (enc (exp (gen) (mul y y-0 (rec x))) b-0 (privk ca-0)))))
-  (label 76)
-  (parent 65)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (y y-0 expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y-0)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand resp 1 (b a) (y y-0))
-  (deflistener (exp (gen) (mul y y-0)))
-  (deflistener (cat (gen) (mul y y-0)))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 4)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen y y-0)
-  (uniq-orig n)
-  (precur (5 0))
-  (operation nonce-test (contracted (y-1 y) (y-2 y-0) (w (mul y y-0)))
-    (gen) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (recv (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
-    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
-    ((recv (cat (gen) (mul y y-0))) (send (cat (gen) (mul y y-0)))))
-  (label 77)
-  (parent 66)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (y y-0 expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (y y-0))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y-0)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y)))
-  (defstrand resp 1 (b a) (y y))
-  (deflistener (exp (gen) (mul y y-0)))
-  (deflistener (cat (exp (gen) y-0) y))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 4)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (precur (5 0))
-  (uniq-gen y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 resp 1) (exp (gen) y-1) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y-0) b (privk b)))
-      (recv (enc (exp (gen) y-0) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
-      (send
-        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (recv (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y-0) b (privk b)))
-      (send (enc (exp (gen) y-0) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) a (privk a)))
-      (send (enc (exp (gen) y) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y) a (privk a))))
-    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
-    ((recv (cat (exp (gen) y-0) y)) (send (cat (exp (gen) y-0) y))))
-  (label 78)
-  (parent 66)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (y y-0 expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y-0)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand resp 1 (b a) (y y-0))
-  (deflistener (exp (gen) (mul y y-0)))
-  (deflistener (cat (exp (gen) y-0) y))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 4)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (precur (5 0))
-  (uniq-gen y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 3 resp 1) (exp (gen) y-1) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (recv (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
-    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
-    ((recv (cat (exp (gen) y-0) y)) (send (cat (exp (gen) y-0) y))))
-  (label 79)
-  (parent 66)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca b-0 name) (y y-0 y-1 expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y-0)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (defstrand resp 1 (b a) (y y-0))
-  (deflistener (exp (gen) (mul y y-0)))
-  (deflistener (cat (exp (gen) y-1) (mul y y-0 (rec y-1))))
-  (defstrand resp 1 (b b-0) (y y-1))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 2))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 4)) ((5 1) (4 0))
-    ((6 0) (5 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (precur (5 0))
-  (uniq-gen y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 1) (exp (gen) y-1) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (recv (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
-    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
-    ((recv (cat (exp (gen) y-1) (mul y y-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul y y-0 (rec y-1)))))
-    ((send (enc "reg" (exp (gen) y-1) b-0 (privk b-0)))))
-  (label 80)
-  (parent 66)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (b ca name) (y expn))
-  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (h (exp (gen) y)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (deflistener (exp (gen) (mul y y)))
-  (deflistener (cat (gen) (mul y y)))
-  (deflistener y)
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((3 1) (0 4)) ((4 1) (3 0)) ((5 1) (4 0)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen y)
-  (uniq-orig n)
-  (precur (4 0))
-  (operation nonce-test (added-listener y) (mul y y) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y)))))
-      (recv (enc "check" n (exp (gen) (mul y y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
-    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y))))
-    ((recv y) (send y)))
-  (label 81)
-  (parent 69)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a name) (x y expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 3) (3 3)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((2 1) (3 1)) ((3 0) (2 0)) ((3 4) (0 4))
-    ((4 1) (3 3)))
-  (non-orig (privk b) (privk ca) (privk a))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation encryption-test (displaced 5 0 resp 1)
-    (enc "reg" (exp (gen) y) b-0 (privk b-0)) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca)))))
-  (label 82)
-  (parent 73)
-  (seen 72)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (b ca a ca-0 name) (x y expn))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca-0) (h (exp (gen) y)) (x x))
-  (defstrand ca 2 (subject a) (ca ca-0) (h (exp (gen) x)))
-  (defstrand ca 2 (subject b) (ca ca-0) (h (exp (gen) y)))
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((0 3) (3 3)) ((1 1) (0 1))
-    ((2 1) (0 2)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 4) (0 4))
-    ((4 1) (3 1)) ((5 1) (3 3)))
-  (non-orig (privk b) (privk ca) (privk a) (privk ca-0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation encryption-test (displaced 6 0 resp 1)
-    (enc "reg" (exp (gen) y) b-0 (privk b-0)) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca-0)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca-0))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca-0)))))
-  (label 83)
-  (parent 75)
-  (unrealized)
-  (shape)
-  (maps ((0) ((n n) (y y) (a a) (b b) (ca ca) (h (exp (gen) x)))))
-  (origs (n (0 3))))
-
-(comment "Nothing left to do")
-
-(defprotocol dhca diffie-hellman
-  (defrole init
-    (vars (x expn) (a b ca name) (h base) (n text))
-    (trace (send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv (cat h (enc h b (privk ca)) (enc n (exp h x))))
-      (send (enc "check" n (exp h x))))
-    (non-orig (privk ca))
-    (uniq-gen x))
-  (defrole resp
-    (vars (y expn) (a b ca name) (h base) (n text))
-    (trace (send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat h (enc h a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp h y)))) (recv (enc "check" n (exp h y))))
-    (non-orig (privk ca))
-    (uniq-gen y))
-  (defrole ca
-    (vars (subject ca name) (h base))
-    (trace (recv (enc "reg" h subject (privk subject)))
-      (send (enc h subject (privk ca))))
-    (non-orig (privk subject)))
-  (comment A diffie-hellman exchange which uses a certificate authority
-    to certify long-term DH values))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (non-orig (privk ca))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (comment point of view in which init and resp each complete and they
-    agree on the relevant parameters)
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y))))))
-  (label 84)
-  (unrealized (0 1) (0 3) (1 1) (1 2) (1 4))
-  (preskeleton)
-  (comment "Not a skeleton"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 2)) ((1 3) (0 3)))
-  (non-orig (privk ca))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (comment point of view in which init and resp each complete and they
-    agree on the relevant parameters)
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y))))))
-  (label 85)
-  (parent 84)
-  (unrealized (0 1) (1 1) (1 2) (1 4))
-  (origs (n (1 3)))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (precedes ((0 0) (1 2)) ((1 0) (2 0)) ((1 3) (0 3)) ((2 1) (1 1)))
-  (non-orig (privk b) (privk ca))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) y) b (privk ca)) (1 1))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca)))))
-  (label 86)
-  (parent 85)
-  (unrealized (0 1) (1 2) (1 4))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((1 3) (0 3)) ((2 1) (1 1))
-    ((3 1) (1 2)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) x) a (privk ca)) (1 2))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca)))))
-  (label 87)
-  (parent 86)
-  (unrealized (0 1) (1 4))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (precedes ((0 0) (3 0)) ((0 4) (1 4)) ((1 0) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 1)) ((3 1) (1 2)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (displaced 4 0 init 5)
-    (enc "check" n (exp (gen) (mul x-0 y))) (1 4))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (send (enc "check" n (exp (gen) (mul y x)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (recv (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca)))))
-  (label 88)
-  (parent 87)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca a-0 b-0 ca-0 name) (x y x-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul x y (rec x-0)))) (x x-0))
-  (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((1 3) (0 3)) ((1 3) (4 3))
-    ((2 1) (1 1)) ((3 1) (1 2)) ((4 4) (1 4)))
-  (non-orig (privk a) (privk b) (privk ca) (privk ca-0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation encryption-test (added-strand init 5)
-    (enc "check" n (exp (gen) (mul x y))) (1 4))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x-0) a-0 (privk a-0)))
-      (recv (enc (exp (gen) x-0) a-0 (privk ca-0)))
-      (send
-        (cat (exp (gen) x-0) (enc (exp (gen) x-0) a-0 (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul x y (rec x-0)))
-          (enc (exp (gen) (mul x y (rec x-0))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y))))))
-  (label 89)
-  (parent 87)
-  (unrealized (0 1) (4 1) (4 3))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (deflistener (exp (gen) (mul x y)))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 0) (2 0)) ((1 0) (4 0))
-    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation encryption-test (added-listener (exp (gen) (mul x y)))
-    (enc "check" n (exp (gen) (mul x y))) (1 4))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
-  (label 90)
-  (parent 87)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (precedes ((0 0) (3 0)) ((0 4) (1 4)) ((1 0) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 1)) ((3 1) (0 1)) ((3 1) (1 2)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (displaced 4 3 ca 2)
-    (enc (exp (gen) x) a (privk ca)) (0 1))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (send (enc "check" n (exp (gen) (mul y x)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (recv (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca)))))
-  (label 91)
-  (parent 88)
-  (unrealized)
-  (shape)
-  (maps ((0 1) ((a a) (b b) (ca ca) (x x) (y y) (n n))))
-  (origs (n (1 3))))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 4) (1 4)) ((1 0) (2 0))
-    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) x) a (privk ca)) (0 1))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (send (enc "check" n (exp (gen) (mul y x)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y x)))))
-      (recv (enc "check" n (exp (gen) (mul y x)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca)))))
-  (label 92)
-  (parent 88)
-  (unrealized)
-  (shape)
-  (maps ((0 1) ((a a) (b b) (ca ca) (x x) (y y) (n n))))
-  (origs (n (1 3))))
-
-(defskeleton dhca
-  (vars (n text) (a b ca a-0 b-0 ca-0 name) (x y x-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul x y (rec x-0)))) (x x-0))
-  (defstrand ca 2 (subject a-0) (ca ca-0) (h (exp (gen) x-0)))
-  (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((1 3) (0 3)) ((1 3) (4 3))
-    ((2 1) (1 1)) ((3 1) (1 2)) ((4 0) (5 0)) ((4 4) (1 4))
-    ((5 1) (4 1)))
-  (non-orig (privk a) (privk b) (privk ca) (privk a-0) (privk ca-0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) x-0) a-0 (privk ca-0)) (4 1))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x-0) a-0 (privk a-0)))
-      (recv (enc (exp (gen) x-0) a-0 (privk ca-0)))
-      (send
-        (cat (exp (gen) x-0) (enc (exp (gen) x-0) a-0 (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul x y (rec x-0)))
-          (enc (exp (gen) (mul x y (rec x-0))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x-0) a-0 (privk a-0)))
-      (send (enc (exp (gen) x-0) a-0 (privk ca-0)))))
-  (label 93)
-  (parent 89)
-  (unrealized (0 1) (4 3))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) (mul x y (rec w))) w))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 0) (2 0)) ((1 0) (5 0))
-    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (5 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x y (rec w))) w))
-    (exp (gen) (mul x y)) (4 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) (mul x y (rec w))) w))
-      (send (cat (exp (gen) (mul x y (rec w))) w))))
-  (label 94)
-  (parent 90)
-  (unrealized (0 1) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca a-0 b-0 ca-0 name) (x y x-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0)
-    (h (exp (gen) (mul x y (rec x-0)))) (x x-0))
-  (defstrand ca 2 (subject a-0) (ca ca-0) (h (exp (gen) x-0)))
-  (defstrand ca 2 (subject b-0) (ca ca-0)
-    (h (exp (gen) (mul x y (rec x-0)))))
-  (precedes ((0 0) (3 0)) ((0 0) (6 0)) ((1 0) (2 0)) ((1 0) (6 0))
-    ((1 3) (0 3)) ((1 3) (4 3)) ((2 1) (1 1)) ((3 1) (1 2))
-    ((4 0) (5 0)) ((4 0) (6 0)) ((4 4) (1 4)) ((5 1) (4 1))
-    ((6 1) (4 3)))
-  (non-orig (privk a) (privk b) (privk ca) (privk a-0) (privk b-0)
-    (privk ca-0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation encryption-test (added-strand ca 2)
-    (enc (exp (gen) (mul x y (rec x-0))) b-0 (privk ca-0)) (4 3))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((send (enc "reg" (exp (gen) x-0) a-0 (privk a-0)))
-      (recv (enc (exp (gen) x-0) a-0 (privk ca-0)))
-      (send
-        (cat (exp (gen) x-0) (enc (exp (gen) x-0) a-0 (privk ca-0))))
-      (recv
-        (cat (exp (gen) (mul x y (rec x-0)))
-          (enc (exp (gen) (mul x y (rec x-0))) b-0 (privk ca-0))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) x-0) a-0 (privk a-0)))
-      (send (enc (exp (gen) x-0) a-0 (privk ca-0))))
-    ((recv (enc "reg" (exp (gen) (mul x y (rec x-0))) b-0 (privk b-0)))
-      (send (enc (exp (gen) (mul x y (rec x-0))) b-0 (privk ca-0)))))
-  (label 95)
-  (parent 93)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 0) (2 0)) ((1 0) (5 0))
-    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (5 0))
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul x y))) (gen)
-    (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))))
-  (label 96)
-  (parent 94)
-  (unrealized (0 1) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x y-0))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y-0)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) y-0)))
-  (deflistener (exp (gen) (mul y y-0)))
-  (deflistener (cat (exp (gen) y-0) y))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 0) (2 0)) ((1 0) (5 0))
-    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (precur (5 0))
-  (uniq-gen y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 resp 1) (exp (gen) y-1) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) y-0) a (privk a)))
-      (recv (enc (exp (gen) y-0) a (privk ca)))
-      (send (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (send (enc "check" n (exp (gen) (mul y y-0)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul y y-0)))))
-      (recv (enc "check" n (exp (gen) (mul y y-0)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
-      (send (enc (exp (gen) y-0) a (privk ca))))
-    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
-    ((recv (cat (exp (gen) y-0) y)) (send (cat (exp (gen) y-0) y))))
-  (label 97)
-  (parent 94)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 0) (2 0)) ((1 0) (5 0))
-    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (precur (5 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 1) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 98)
-  (parent 94)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dhca
-  (vars (n text) (a b ca b-0 name) (x y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
-  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (y y))
-  (defstrand ca 2 (subject b) (ca ca) (h (exp (gen) y)))
-  (defstrand ca 2 (subject a) (ca ca) (h (exp (gen) x)))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y-0) (mul x y (rec y-0))))
-  (defstrand resp 1 (b b-0) (y y-0))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 0) (2 0)) ((1 0) (5 0))
-    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4))
-    ((5 1) (4 0)) ((6 0) (5 0)))
-  (non-orig (privk a) (privk b) (privk ca))
-  (precur (5 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 1) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (enc "reg" (exp (gen) x) a (privk a)))
-      (recv (enc (exp (gen) x) a (privk ca)))
-      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (recv
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (send (enc "check" n (exp (gen) (mul x y)))))
-    ((send (enc "reg" (exp (gen) y) b (privk b)))
-      (recv (enc (exp (gen) y) b (privk ca)))
-      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
-      (send
-        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
-          (enc n (exp (gen) (mul x y)))))
-      (recv (enc "check" n (exp (gen) (mul x y)))))
-    ((recv (enc "reg" (exp (gen) y) b (privk b)))
-      (send (enc (exp (gen) y) b (privk ca))))
-    ((recv (enc "reg" (exp (gen) x) a (privk a)))
-      (send (enc (exp (gen) x) a (privk ca))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y-0) (mul x y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul x y (rec y-0)))))
+(comment "CPSA 3.5.0")
+(comment "All input read from dh-ca.scm")
+
+(defprotocol dhca diffie-hellman
+  (defrole init
+    (vars (x rndx) (a b ca name) (y expt) (n text))
+    (trace (send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    (non-orig (privk ca))
+    (uniq-gen x))
+  (defrole resp
+    (vars (y rndx) (a b ca name) (x expt) (n text))
+    (trace (send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    (non-orig (privk ca))
+    (uniq-gen y))
+  (defrole ca
+    (vars (subject ca name) (x expt))
+    (trace (recv (enc "reg" (exp (gen) x) subject (privk subject)))
+      (send (enc (exp (gen) x) subject (privk ca))))
+    (non-orig (privk subject)))
+  (comment A diffie-hellman exchange which uses a certificate authority
+    to certify long-term DH values))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x rndx) (y expt))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (non-orig (privk ca))
+  (uniq-gen x)
+  (comment Full initiator POV No need to make extra assumptions)
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y))))))
+  (label 0)
+  (unrealized (0 1) (0 3))
+  (origs)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y expt) (x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk ca))
+  (uniq-gen x)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x) a (privk ca)) (0 1))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 3))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (x rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x x) (y x))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk ca))
+  (uniq-gen x)
+  (operation encryption-test (displaced 2 1 ca 2)
+    (enc (exp (gen) x-0) b (privk ca)) (0 3))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
+          (enc n (exp (gen) (mul x x)))))
+      (send (enc "check" n (exp (gen) (mul x x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca)))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 3))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x rndx) (x-0 expt))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y x-0))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x x-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (0 3)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen x)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x-0) b (privk ca)) (0 3))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) x-0) (enc (exp (gen) x-0) b (privk ca))
+          (enc n (exp (gen) (mul x x-0)))))
+      (send (enc "check" n (exp (gen) (mul x x-0)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) x-0) b (privk b)))
+      (send (enc (exp (gen) x-0) b (privk ca)))))
+  (label 3)
+  (parent 1)
+  (unrealized (2 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca a-0 b ca-0 name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x x) (y x))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (y y)
+    (x (mul x x (rec y))))
+  (precedes ((0 0) (1 0)) ((0 0) (2 2)) ((1 1) (0 1)) ((2 3) (0 3)))
+  (non-orig (privk a) (privk ca) (privk ca-0))
+  (uniq-gen x y)
+  (operation encryption-test (added-strand resp 4)
+    (enc n (exp (gen) (mul x x))) (0 3))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
+          (enc n (exp (gen) (mul x x)))))
+      (send (enc "check" n (exp (gen) (mul x x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca-0)))
+      (recv
+        (cat (exp (gen) (mul x x (rec y)))
+          (enc (exp (gen) (mul x x (rec y))) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
+          (enc n (exp (gen) (mul x x)))))))
+  (label 4)
+  (parent 2)
+  (unrealized (2 1) (2 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (x rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x x) (y x))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (deflistener (exp (gen) (mul x x)))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
+  (non-orig (privk a) (privk ca))
+  (uniq-gen x)
+  (operation encryption-test (added-listener (exp (gen) (mul x x)))
+    (enc n (exp (gen) (mul x x))) (0 3))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
+          (enc n (exp (gen) (mul x x)))))
+      (send (enc "check" n (exp (gen) (mul x x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x)))))
+  (label 5)
+  (parent 2)
+  (unrealized (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (y rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x y) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
+  (non-orig (privk a) (privk ca))
+  (uniq-gen y)
+  (operation encryption-test (displaced 3 0 resp 1)
+    (enc "reg" (exp (gen) y-0) b (privk b)) (2 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) a (privk a)))
+      (recv (enc (exp (gen) y) a (privk ca)))
+      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca)))))
+  (label 6)
+  (parent 3)
+  (unrealized (0 3))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 1 (b b) (y y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (0 3)) ((3 0) (2 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen x y)
+  (operation encryption-test (added-strand resp 1)
+    (enc "reg" (exp (gen) y) b (privk b)) (2 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))))
+  (label 7)
+  (parent 3)
+  (unrealized (0 3))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca a-0 b ca-0 name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x x) (y x))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (y y)
+    (x (mul x x (rec y))))
+  (defstrand ca 2 (subject b) (ca ca-0) (x y))
+  (precedes ((0 0) (1 0)) ((0 0) (2 2)) ((1 1) (0 1)) ((2 0) (3 0))
+    ((2 3) (0 3)) ((3 1) (2 1)))
+  (non-orig (privk a) (privk ca) (privk b) (privk ca-0))
+  (uniq-gen x y)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) y) b (privk ca-0)) (2 1))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
+          (enc n (exp (gen) (mul x x)))))
+      (send (enc "check" n (exp (gen) (mul x x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca-0)))
+      (recv
+        (cat (exp (gen) (mul x x (rec y)))
+          (enc (exp (gen) (mul x x (rec y))) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
+          (enc n (exp (gen) (mul x x))))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca-0)))))
+  (label 8)
+  (parent 4)
+  (unrealized (2 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (x rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x x) (y x))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (deflistener (exp (gen) (mul x x)))
+  (deflistener (cat (exp (gen) (mul x x (rec w))) w))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk ca))
+  (uniq-gen x)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x x (rec w))) w))
+    (exp (gen) (mul x x)) (2 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
+          (enc n (exp (gen) (mul x x)))))
+      (send (enc "check" n (exp (gen) (mul x x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
+    ((recv (cat (exp (gen) (mul x x (rec w))) w))
+      (send (cat (exp (gen) (mul x x (rec w))) w))))
+  (label 9)
+  (parent 5)
+  (unrealized (3 0))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca a-0 b ca-0 name) (y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x y) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (y y-0)
+    (x (mul y y (rec y-0))))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 2)) ((1 1) (0 1))
+    ((2 1) (0 3)) ((3 3) (0 3)))
+  (non-orig (privk a) (privk ca) (privk ca-0))
+  (uniq-gen y y-0)
+  (operation encryption-test (added-strand resp 4)
+    (enc n (exp (gen) (mul y y))) (0 3))
+  (traces
+    ((send (enc "reg" (exp (gen) y) a (privk a)))
+      (recv (enc (exp (gen) y) a (privk ca)))
+      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) b (privk b)))
+      (recv (enc (exp (gen) y-0) b (privk ca-0)))
+      (recv
+        (cat (exp (gen) (mul y y (rec y-0)))
+          (enc (exp (gen) (mul y y (rec y-0))) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b (privk ca-0))
+          (enc n (exp (gen) (mul y y)))))))
+  (label 10)
+  (parent 6)
+  (unrealized (3 1) (3 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (y rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x y) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 3)) ((3 1) (0 3)))
+  (non-orig (privk a) (privk ca))
+  (uniq-gen y)
+  (operation encryption-test (added-listener (exp (gen) (mul y y)))
+    (enc n (exp (gen) (mul y y))) (0 3))
+  (traces
+    ((send (enc "reg" (exp (gen) y) a (privk a)))
+      (recv (enc (exp (gen) y) a (privk ca)))
+      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y)))))
+  (label 11)
+  (parent 6)
+  (unrealized (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca a-0 b ca-0 name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (y y) (x x))
+  (precedes ((0 0) (1 0)) ((0 0) (3 2)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 3) (0 3)))
+  (non-orig (privk a) (privk ca) (privk b) (privk ca-0))
+  (uniq-gen x y)
+  (operation encryption-test (displaced 3 4 resp 4)
+    (enc n (exp (gen) (mul x y-0))) (0 3))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca-0)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
+          (enc n (exp (gen) (mul x y)))))))
+  (label 12)
+  (parent 7)
+  (unrealized (3 1) (3 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca a-0 b-0 ca-0 name) (x y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 1 (b b) (y y))
+  (defstrand resp 4 (n n) (a a-0) (b b-0) (ca ca-0) (y y-0)
+    (x (mul x y (rec y-0))))
+  (precedes ((0 0) (1 0)) ((0 0) (4 2)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (4 2)) ((4 3) (0 3)))
+  (non-orig (privk a) (privk b) (privk ca) (privk ca-0))
+  (uniq-gen x y y-0)
+  (operation encryption-test (added-strand resp 4)
+    (enc n (exp (gen) (mul x y))) (0 3))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b))))
+    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))
+      (recv (enc (exp (gen) y-0) b-0 (privk ca-0)))
+      (recv
+        (cat (exp (gen) (mul x y (rec y-0)))
+          (enc (exp (gen) (mul x y (rec y-0))) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul x y)))))))
+  (label 13)
+  (parent 7)
+  (unrealized (4 1) (4 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 1 (b b) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 3)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen x y)
+  (operation encryption-test (added-listener (exp (gen) (mul x y)))
+    (enc n (exp (gen) (mul x y))) (0 3))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
+  (label 14)
+  (parent 7)
+  (unrealized (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca a-0 b ca-0 name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x x) (y x))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (y y)
+    (x (mul x x (rec y))))
+  (defstrand ca 2 (subject b) (ca ca-0) (x y))
+  (defstrand ca 2 (subject a-0) (ca ca-0) (x (mul x x (rec y))))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 0) (3 0))
+    ((2 0) (4 0)) ((2 3) (0 3)) ((3 1) (2 1)) ((4 1) (2 2)))
+  (non-orig (privk a) (privk ca) (privk a-0) (privk b) (privk ca-0))
+  (uniq-gen x y)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) (mul x x (rec y))) a-0 (privk ca-0)) (2 2))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
+          (enc n (exp (gen) (mul x x)))))
+      (send (enc "check" n (exp (gen) (mul x x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca-0)))
+      (recv
+        (cat (exp (gen) (mul x x (rec y)))
+          (enc (exp (gen) (mul x x (rec y))) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
+          (enc n (exp (gen) (mul x x))))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca-0))))
+    ((recv (enc "reg" (exp (gen) (mul x x (rec y))) a-0 (privk a-0)))
+      (send (enc (exp (gen) (mul x x (rec y))) a-0 (privk ca-0)))))
+  (label 15)
+  (parent 8)
+  (unrealized (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (x rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x x) (y x))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (deflistener (exp (gen) (mul x x)))
+  (deflistener (cat (gen) (mul x x)))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk ca))
+  (uniq-gen x)
+  (precur (3 0))
+  (operation nonce-test (contracted (x-0 x) (w (mul x x))) (gen) (3 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
+          (enc n (exp (gen) (mul x x)))))
+      (send (enc "check" n (exp (gen) (mul x x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
+    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x)))))
+  (label 16)
+  (parent 9)
+  (unrealized (2 0) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (y rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x y) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (exp (gen) y) y))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk ca))
+  (precur (3 0))
+  (uniq-gen y)
+  (operation nonce-test (displaced 4 0 resp 1) (exp (gen) y-0) (3 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) a (privk a)))
+      (recv (enc (exp (gen) y) a (privk ca)))
+      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (exp (gen) y) y)) (send (cat (exp (gen) y) y))))
+  (label 17)
+  (parent 9)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a ca b name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x x) (y x))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (deflistener (exp (gen) (mul x x)))
+  (deflistener (cat (exp (gen) y) (mul x x (rec y))))
+  (defstrand resp 1 (b b) (y y))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 1) (2 0)) ((4 0) (3 0)))
+  (non-orig (privk a) (privk ca))
+  (precur (3 0))
+  (uniq-gen x y)
+  (operation nonce-test (added-strand resp 1) (exp (gen) y) (3 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
+          (enc n (exp (gen) (mul x x)))))
+      (send (enc "check" n (exp (gen) (mul x x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
+    ((recv (cat (exp (gen) y) (mul x x (rec y))))
+      (send (cat (exp (gen) y) (mul x x (rec y)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))))
+  (label 18)
+  (parent 9)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a ca a-0 b ca-0 name) (y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x y) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (y y-0)
+    (x (mul y y (rec y-0))))
+  (defstrand ca 2 (subject b) (ca ca-0) (x y-0))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 2)) ((1 1) (0 1))
+    ((2 1) (0 3)) ((3 0) (4 0)) ((3 3) (0 3)) ((4 1) (3 1)))
+  (non-orig (privk a) (privk ca) (privk b) (privk ca-0))
+  (uniq-gen y y-0)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) y-0) b (privk ca-0)) (3 1))
+  (traces
+    ((send (enc "reg" (exp (gen) y) a (privk a)))
+      (recv (enc (exp (gen) y) a (privk ca)))
+      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) b (privk b)))
+      (recv (enc (exp (gen) y-0) b (privk ca-0)))
+      (recv
+        (cat (exp (gen) (mul y y (rec y-0)))
+          (enc (exp (gen) (mul y y (rec y-0))) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b (privk ca-0))
+          (enc n (exp (gen) (mul y y))))))
+    ((recv (enc "reg" (exp (gen) y-0) b (privk b)))
+      (send (enc (exp (gen) y-0) b (privk ca-0)))))
+  (label 19)
+  (parent 10)
+  (unrealized (3 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (y rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x y) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (exp (gen) (mul y y (rec w))) w))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 3)) ((3 1) (0 3)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk ca))
+  (uniq-gen y)
+  (precur (4 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y y (rec w))) w))
+    (exp (gen) (mul y y)) (3 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) a (privk a)))
+      (recv (enc (exp (gen) y) a (privk ca)))
+      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (exp (gen) (mul y y (rec w))) w))
+      (send (cat (exp (gen) (mul y y (rec w))) w))))
+  (label 20)
+  (parent 11)
+  (unrealized (4 0))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca a-0 b name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca) (y y) (x x))
+  (precedes ((0 0) (1 0)) ((0 0) (3 2)) ((1 1) (0 1)) ((2 1) (3 1))
+    ((3 0) (2 0)) ((3 3) (0 3)))
+  (non-orig (privk a) (privk ca) (privk b))
+  (uniq-gen x y)
+  (operation encryption-test (displaced 4 2 ca 2)
+    (enc (exp (gen) y) b (privk ca-0)) (3 1))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))))
+  (label 21)
+  (parent 12)
+  (unrealized (3 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca a-0 b ca-0 name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca-0) (x y))
+  (precedes ((0 0) (1 0)) ((0 0) (3 2)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (4 0)) ((3 3) (0 3)) ((4 1) (3 1)))
+  (non-orig (privk a) (privk ca) (privk b) (privk ca-0))
+  (uniq-gen x y)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) y) b (privk ca-0)) (3 1))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca-0)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
+          (enc n (exp (gen) (mul x y))))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca-0)))))
+  (label 22)
+  (parent 12)
+  (unrealized (3 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca a-0 b-0 ca-0 name) (x y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 1 (b b) (y y))
+  (defstrand resp 4 (n n) (a a-0) (b b-0) (ca ca-0) (y y-0)
+    (x (mul x y (rec y-0))))
+  (defstrand ca 2 (subject b-0) (ca ca-0) (x y-0))
+  (precedes ((0 0) (1 0)) ((0 0) (4 2)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (4 2)) ((4 0) (5 0)) ((4 3) (0 3))
+    ((5 1) (4 1)))
+  (non-orig (privk a) (privk b) (privk ca) (privk b-0) (privk ca-0))
+  (uniq-gen x y y-0)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) y-0) b-0 (privk ca-0)) (4 1))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b))))
+    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))
+      (recv (enc (exp (gen) y-0) b-0 (privk ca-0)))
+      (recv
+        (cat (exp (gen) (mul x y (rec y-0)))
+          (enc (exp (gen) (mul x y (rec y-0))) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul x y))))))
+    ((recv (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))
+      (send (enc (exp (gen) y-0) b-0 (privk ca-0)))))
+  (label 23)
+  (parent 13)
+  (unrealized (4 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x y rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 1 (b b) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) (mul x y (rec w))) w))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 3)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen x y)
+  (precur (5 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x y (rec w))) w))
+    (exp (gen) (mul x y)) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) (mul x y (rec w))) w))
+      (send (cat (exp (gen) (mul x y (rec w))) w))))
+  (label 24)
+  (parent 14)
+  (unrealized (5 0))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (x rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x x) (y x))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (deflistener (exp (gen) (mul x x)))
+  (deflistener (cat (gen) (mul x x)))
+  (deflistener x)
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk ca))
+  (uniq-gen x)
+  (precur (3 0))
+  (operation nonce-test (added-listener x) (mul x x) (3 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))
+          (enc n (exp (gen) (mul x x)))))
+      (send (enc "check" n (exp (gen) (mul x x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
+    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x))))
+    ((recv x) (send x)))
+  (label 25)
+  (parent 16)
+  (unrealized (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a ca a-0 b ca-0 name) (y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x y) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (y y-0)
+    (x (mul y y (rec y-0))))
+  (defstrand ca 2 (subject b) (ca ca-0) (x y-0))
+  (defstrand ca 2 (subject a-0) (ca ca-0) (x (mul y y (rec y-0))))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1))
+    ((2 1) (0 3)) ((3 0) (4 0)) ((3 0) (5 0)) ((3 3) (0 3))
+    ((4 1) (3 1)) ((5 1) (3 2)))
+  (non-orig (privk a) (privk ca) (privk a-0) (privk b) (privk ca-0))
+  (uniq-gen y y-0)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) (mul y y (rec y-0))) a-0 (privk ca-0)) (3 2))
+  (traces
+    ((send (enc "reg" (exp (gen) y) a (privk a)))
+      (recv (enc (exp (gen) y) a (privk ca)))
+      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) b (privk b)))
+      (recv (enc (exp (gen) y-0) b (privk ca-0)))
+      (recv
+        (cat (exp (gen) (mul y y (rec y-0)))
+          (enc (exp (gen) (mul y y (rec y-0))) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b (privk ca-0))
+          (enc n (exp (gen) (mul y y))))))
+    ((recv (enc "reg" (exp (gen) y-0) b (privk b)))
+      (send (enc (exp (gen) y-0) b (privk ca-0))))
+    ((recv (enc "reg" (exp (gen) (mul y y (rec y-0))) a-0 (privk a-0)))
+      (send (enc (exp (gen) (mul y y (rec y-0))) a-0 (privk ca-0)))))
+  (label 26)
+  (parent 19)
+  (unrealized (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (y rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x y) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (gen) (mul y y)))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 3)) ((3 1) (0 3)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk ca))
+  (uniq-gen y)
+  (precur (4 0))
+  (operation nonce-test (contracted (y-0 y) (w (mul y y))) (gen) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) a (privk a)))
+      (recv (enc (exp (gen) y) a (privk ca)))
+      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y)))))
+  (label 27)
+  (parent 20)
+  (unrealized (3 0) (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (y rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x y) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (exp (gen) y) y))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 3)) ((3 1) (0 3)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk ca))
+  (precur (4 0))
+  (uniq-gen y)
+  (operation nonce-test (displaced 5 0 resp 1) (exp (gen) y-0) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) a (privk a)))
+      (recv (enc (exp (gen) y) a (privk ca)))
+      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (exp (gen) y) y)) (send (cat (exp (gen) y) y))))
+  (label 28)
+  (parent 20)
+  (unrealized (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a ca b name) (y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x y) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (exp (gen) y-0) (mul y y (rec y-0))))
+  (defstrand resp 1 (b b) (y y-0))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 3)) ((3 1) (0 3)) ((4 1) (3 0)) ((5 0) (4 0)))
+  (non-orig (privk a) (privk ca))
+  (precur (4 0))
+  (uniq-gen y y-0)
+  (operation nonce-test (added-strand resp 1) (exp (gen) y-0) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) a (privk a)))
+      (recv (enc (exp (gen) y) a (privk ca)))
+      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (exp (gen) y-0) (mul y y (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y y (rec y-0)))))
+    ((send (enc "reg" (exp (gen) y-0) b (privk b)))))
+  (label 29)
+  (parent 20)
+  (unrealized (3 0) (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a ca b name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 2)) ((2 1) (3 1))
+    ((3 0) (2 0)) ((3 3) (0 3)))
+  (non-orig (privk a) (privk ca) (privk b))
+  (uniq-gen y x)
+  (operation encryption-test (displaced 4 1 ca 2)
+    (enc (exp (gen) x) a-0 (privk ca)) (3 2))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))))
+  (label 30)
+  (parent 21)
+  (unrealized)
+  (shape)
+  (maps ((0) ((x x) (a a) (b b) (ca ca) (y y) (n n))))
+  (origs))
+
+(defskeleton dhca
+  (vars (n text) (a ca a-0 b name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject a-0) (ca ca) (x x))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (3 1))
+    ((3 0) (2 0)) ((3 3) (0 3)) ((4 1) (3 2)))
+  (non-orig (privk a) (privk ca) (privk a-0) (privk b))
+  (uniq-gen y x)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x) a-0 (privk ca)) (3 2))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x))))))
+    ((recv (enc "reg" (exp (gen) x) a-0 (privk a-0)))
+      (send (enc (exp (gen) x) a-0 (privk ca)))))
+  (label 31)
+  (parent 21)
+  (unrealized (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca b name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 2)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (4 0)) ((3 3) (0 3)) ((4 1) (3 1)))
+  (non-orig (privk a) (privk ca) (privk b))
+  (uniq-gen y x)
+  (operation encryption-test (displaced 5 1 ca 2)
+    (enc (exp (gen) x) a-0 (privk ca-0)) (3 2))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x))))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca)))))
+  (label 32)
+  (parent 22)
+  (seen 30)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a ca a-0 b ca-0 name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a-0) (b b) (ca ca-0) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca-0) (x y))
+  (defstrand ca 2 (subject a-0) (ca ca-0) (x x))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (4 0)) ((3 3) (0 3)) ((4 1) (3 1))
+    ((5 1) (3 2)))
+  (non-orig (privk a) (privk ca) (privk a-0) (privk b) (privk ca-0))
+  (uniq-gen y x)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x) a-0 (privk ca-0)) (3 2))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca-0)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
+          (enc n (exp (gen) (mul y x))))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca-0))))
+    ((recv (enc "reg" (exp (gen) x) a-0 (privk a-0)))
+      (send (enc (exp (gen) x) a-0 (privk ca-0)))))
+  (label 33)
+  (parent 22)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca a-0 b-0 ca-0 name) (x y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 1 (b b) (y y))
+  (defstrand resp 4 (n n) (a a-0) (b b-0) (ca ca-0) (y y-0)
+    (x (mul x y (rec y-0))))
+  (defstrand ca 2 (subject b-0) (ca ca-0) (x y-0))
+  (defstrand ca 2 (subject a-0) (ca ca-0) (x (mul x y (rec y-0))))
+  (precedes ((0 0) (1 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (6 0)) ((4 0) (5 0)) ((4 0) (6 0))
+    ((4 3) (0 3)) ((5 1) (4 1)) ((6 1) (4 2)))
+  (non-orig (privk a) (privk b) (privk ca) (privk a-0) (privk b-0)
+    (privk ca-0))
+  (uniq-gen x y y-0)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) (mul x y (rec y-0))) a-0 (privk ca-0)) (4 2))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b))))
+    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))
+      (recv (enc (exp (gen) y-0) b-0 (privk ca-0)))
+      (recv
+        (cat (exp (gen) (mul x y (rec y-0)))
+          (enc (exp (gen) (mul x y (rec y-0))) a-0 (privk ca-0))))
+      (send
+        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul x y))))))
+    ((recv (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))
+      (send (enc (exp (gen) y-0) b-0 (privk ca-0))))
+    ((recv (enc "reg" (exp (gen) (mul x y (rec y-0))) a-0 (privk a-0)))
+      (send (enc (exp (gen) (mul x y (rec y-0))) a-0 (privk ca-0)))))
+  (label 34)
+  (parent 23)
+  (unrealized (6 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 1 (b b) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (gen) (mul x y)))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 3)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen x y)
+  (precur (5 0))
+  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul x y))) (gen)
+    (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))))
+  (label 35)
+  (parent 24)
+  (unrealized (4 0) (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x y-0) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 1 (b b) (y y))
+  (deflistener (exp (gen) (mul y y-0)))
+  (deflistener (cat (exp (gen) y-0) y))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 3)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (precur (5 0))
+  (uniq-gen y y-0)
+  (operation nonce-test (displaced 6 0 resp 1) (exp (gen) y-1) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y-0) a (privk a)))
+      (recv (enc (exp (gen) y-0) a (privk ca)))
+      (send (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (send (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b))))
+    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
+    ((recv (cat (exp (gen) y-0) y)) (send (cat (exp (gen) y-0) y))))
+  (label 36)
+  (parent 24)
+  (unrealized (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 1 (b b) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 3)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (precur (5 0))
+  (uniq-gen x y)
+  (operation nonce-test (displaced 6 3 resp 1) (exp (gen) y-0) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 37)
+  (parent 24)
+  (unrealized (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca b-0 name) (x y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 1 (b b) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y-0) (mul x y (rec y-0))))
+  (defstrand resp 1 (b b-0) (y y-0))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 3)) ((5 1) (4 0))
+    ((6 0) (5 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (precur (5 0))
+  (uniq-gen x y y-0)
+  (operation nonce-test (added-strand resp 1) (exp (gen) y-0) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y-0) (mul x y (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x y (rec y-0)))))
+    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))))
+  (label 38)
+  (parent 24)
+  (unrealized (4 0) (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a ca name) (y rndx))
+  (defstrand init 5 (n n) (a a) (b a) (ca ca) (x y) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (gen) (mul y y)))
+  (deflistener y)
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1))
+    ((2 1) (0 3)) ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk ca))
+  (uniq-gen y)
+  (precur (4 0))
+  (operation nonce-test (added-listener y) (mul y y) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) a (privk a)))
+      (recv (enc (exp (gen) y) a (privk ca)))
+      (send (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y))))
+    ((recv y) (send y)))
+  (label 39)
+  (parent 27)
+  (unrealized (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a ca b name) (y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x y-0) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a) (b b) (ca ca) (y y) (x y-0))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (3 1))
+    ((3 0) (2 0)) ((3 3) (0 3)) ((4 1) (3 2)))
+  (non-orig (privk a) (privk ca) (privk b))
+  (uniq-gen y y-0)
+  (operation encryption-test (displaced 5 0 resp 1)
+    (enc "reg" (exp (gen) y-0) a-0 (privk a-0)) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y-0) a (privk a)))
+      (recv (enc (exp (gen) y-0) a (privk ca)))
+      (send (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (send (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0))))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca)))))
+  (label 40)
+  (parent 31)
+  (unrealized)
+  (shape)
+  (maps ((0) ((x y-0) (a a) (b b) (ca ca) (y y) (n n))))
+  (origs))
+
+(defskeleton dhca
+  (vars (n text) (a ca b ca-0 name) (y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x y-0) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand resp 4 (n n) (a a) (b b) (ca ca-0) (y y) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca-0) (x y))
+  (defstrand ca 2 (subject a) (ca ca-0) (x y-0))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 3))
+    ((3 0) (2 0)) ((3 0) (4 0)) ((3 3) (0 3)) ((4 1) (3 1))
+    ((5 1) (3 2)))
+  (non-orig (privk a) (privk ca) (privk b) (privk ca-0))
+  (uniq-gen y y-0)
+  (operation encryption-test (displaced 6 0 resp 1)
+    (enc "reg" (exp (gen) y-0) a-0 (privk a-0)) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y-0) a (privk a)))
+      (recv (enc (exp (gen) y-0) a (privk ca)))
+      (send (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (send (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca-0)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca-0))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
+          (enc n (exp (gen) (mul y y-0))))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca-0))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca-0)))))
+  (label 41)
+  (parent 33)
+  (unrealized)
+  (shape)
+  (maps ((0) ((x y-0) (a a) (b b) (ca ca) (y y) (n n))))
+  (origs))
+
+(comment "Nothing left to do")
+
+(defprotocol dhca diffie-hellman
+  (defrole init
+    (vars (x rndx) (a b ca name) (y expt) (n text))
+    (trace (send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    (non-orig (privk ca))
+    (uniq-gen x))
+  (defrole resp
+    (vars (y rndx) (a b ca name) (x expt) (n text))
+    (trace (send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    (non-orig (privk ca))
+    (uniq-gen y))
+  (defrole ca
+    (vars (subject ca name) (x expt))
+    (trace (recv (enc "reg" (exp (gen) x) subject (privk subject)))
+      (send (enc (exp (gen) x) subject (privk ca))))
+    (non-orig (privk subject)))
+  (comment A diffie-hellman exchange which uses a certificate authority
+    to certify long-term DH values))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y rndx) (x expt))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (non-orig (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (comment Full responder point of view with freshly chosen n)
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x))))))
+  (label 42)
+  (unrealized (0 1) (0 2))
+  (origs (n (0 3)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x expt) (y rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) y) b (privk ca)) (0 1))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (recv (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca)))))
+  (label 43)
+  (parent 42)
+  (unrealized (0 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (operation encryption-test (displaced 2 1 ca 2)
+    (enc (exp (gen) x) a (privk ca)) (0 2))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca)))))
+  (label 44)
+  (parent 43)
+  (unrealized (0 4))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y rndx) (x expt))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (0 2)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x) a (privk ca)) (0 2))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca)))))
+  (label 45)
+  (parent 43)
+  (unrealized (2 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a b-0 ca-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (x x)
+    (y (mul y y (rec x))))
+  (precedes ((0 0) (1 0)) ((0 3) (2 3)) ((1 1) (0 1)) ((2 4) (0 4)))
+  (non-orig (privk b) (privk ca) (privk ca-0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand init 5)
+    (enc "check" n (exp (gen) (mul y y))) (0 4))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y y (rec x)))
+          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y))))))
+  (label 46)
+  (parent 44)
+  (unrealized (2 1) (2 3))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 4)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (operation encryption-test (added-listener (exp (gen) (mul y y)))
+    (enc "check" n (exp (gen) (mul y y))) (0 4))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y)))))
+  (label 47)
+  (parent 44)
+  (unrealized (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 2)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (operation encryption-test (displaced 3 0 resp 1)
+    (enc "reg" (exp (gen) y-0) a (privk a)) (2 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca)))))
+  (label 48)
+  (parent 45)
+  (unrealized (0 4))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y y-0 rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand resp 1 (b a) (y y-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (0 2)) ((3 0) (2 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y y-0)
+  (uniq-orig n)
+  (operation encryption-test (added-strand resp 1)
+    (enc "reg" (exp (gen) y-0) a (privk a)) (2 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (recv (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) a (privk a)))))
+  (label 49)
+  (parent 45)
+  (unrealized (0 4))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a b-0 ca-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (x x)
+    (y (mul y y (rec x))))
+  (defstrand ca 2 (subject a) (ca ca-0) (x x))
+  (precedes ((0 0) (1 0)) ((0 3) (2 3)) ((1 1) (0 1)) ((2 0) (3 0))
+    ((2 4) (0 4)) ((3 1) (2 1)))
+  (non-orig (privk b) (privk ca) (privk a) (privk ca-0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x) a (privk ca-0)) (2 1))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y y (rec x)))
+          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca-0)))))
+  (label 50)
+  (parent 46)
+  (unrealized (2 3))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx) (w expt))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (exp (gen) (mul y y (rec w))) w))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 4))
+    ((3 1) (2 0)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y y (rec w))) w))
+    (exp (gen) (mul y y)) (2 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (exp (gen) (mul y y (rec w))) w))
+      (send (cat (exp (gen) (mul y y (rec w))) w))))
+  (label 51)
+  (parent 47)
+  (unrealized (3 0))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a b-0 ca-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (x x)
+    (y (mul y y (rec x))))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 3) (3 3)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((3 4) (0 4)))
+  (non-orig (privk b) (privk ca) (privk ca-0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand init 5)
+    (enc "check" n (exp (gen) (mul y y))) (0 4))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y y (rec x)))
+          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y))))))
+  (label 52)
+  (parent 48)
+  (unrealized (3 1) (3 3))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((3 1) (0 4)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (operation encryption-test (added-listener (exp (gen) (mul y y)))
+    (enc "check" n (exp (gen) (mul y y))) (0 4))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y)))))
+  (label 53)
+  (parent 48)
+  (unrealized (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a b-0 ca-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (x x) (y y))
+  (precedes ((0 0) (1 0)) ((0 3) (3 3)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((3 0) (2 0)) ((3 4) (0 4)))
+  (non-orig (privk b) (privk ca) (privk a) (privk ca-0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (displaced 3 4 init 5)
+    (enc "check" n (exp (gen) (mul y y-0))) (0 4))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x))))))
+  (label 54)
+  (parent 49)
+  (unrealized (3 1) (3 3))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca a-0 b-0 ca-0 name) (y y-0 x rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand resp 1 (b a) (y y-0))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0) (x x)
+    (y (mul y y-0 (rec x))))
+  (precedes ((0 0) (1 0)) ((0 3) (4 3)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((3 0) (2 0)) ((4 4) (0 4)))
+  (non-orig (privk a) (privk b) (privk ca) (privk ca-0))
+  (uniq-gen y y-0 x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand init 5)
+    (enc "check" n (exp (gen) (mul y y-0))) (0 4))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (recv (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
+    ((send (enc "reg" (exp (gen) x) a-0 (privk a-0)))
+      (recv (enc (exp (gen) x) a-0 (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y y-0 (rec x)))
+          (enc (exp (gen) (mul y y-0 (rec x))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y y-0)))))
+      (send (enc "check" n (exp (gen) (mul y y-0))))))
+  (label 55)
+  (parent 49)
+  (unrealized (4 1) (4 3))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y y-0 rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand resp 1 (b a) (y y-0))
+  (deflistener (exp (gen) (mul y y-0)))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 4)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y y-0)
+  (uniq-orig n)
+  (operation encryption-test (added-listener (exp (gen) (mul y y-0)))
+    (enc "check" n (exp (gen) (mul y y-0))) (0 4))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (recv (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
+    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0)))))
+  (label 56)
+  (parent 49)
+  (unrealized (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a b-0 ca-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (x x)
+    (y (mul y y (rec x))))
+  (defstrand ca 2 (subject a) (ca ca-0) (x x))
+  (defstrand ca 2 (subject b-0) (ca ca-0) (x (mul y y (rec x))))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 3) (2 3)) ((1 1) (0 1))
+    ((2 0) (3 0)) ((2 0) (4 0)) ((2 4) (0 4)) ((3 1) (2 1))
+    ((4 1) (2 3)))
+  (non-orig (privk b) (privk ca) (privk a) (privk b-0) (privk ca-0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0)) (2 3))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y y (rec x)))
+          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca-0))))
+    ((recv (enc "reg" (exp (gen) (mul y y (rec x))) b-0 (privk b-0)))
+      (send (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0)))))
+  (label 57)
+  (parent 50)
+  (unrealized (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (gen) (mul y y)))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 4))
+    ((3 1) (2 0)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (precur (3 0))
+  (operation nonce-test (contracted (y-0 y) (w (mul y y))) (gen) (3 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y)))))
+  (label 58)
+  (parent 51)
+  (unrealized (2 0) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (exp (gen) y) y))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 4))
+    ((3 1) (2 0)))
+  (non-orig (privk b) (privk ca))
+  (precur (3 0))
+  (uniq-gen y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 0 resp 1) (exp (gen) y-0) (3 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (exp (gen) y) y)) (send (cat (exp (gen) y) y))))
+  (label 59)
+  (parent 51)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (b ca b-0 name) (y y-0 rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (exp (gen) y-0) (mul y y (rec y-0))))
+  (defstrand resp 1 (b b-0) (y y-0))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 4))
+    ((3 1) (2 0)) ((4 0) (3 0)))
+  (non-orig (privk b) (privk ca))
+  (precur (3 0))
+  (uniq-gen y y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 1) (exp (gen) y-0) (3 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (exp (gen) y-0) (mul y y (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y y (rec y-0)))))
+    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))))
+  (label 60)
+  (parent 51)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a b-0 ca-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (x x)
+    (y (mul y y (rec x))))
+  (defstrand ca 2 (subject a) (ca ca-0) (x x))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 3) (3 3)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((3 0) (4 0)) ((3 4) (0 4)) ((4 1) (3 1)))
+  (non-orig (privk b) (privk ca) (privk a) (privk ca-0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x) a (privk ca-0)) (3 1))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y y (rec x)))
+          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca-0)))))
+  (label 61)
+  (parent 52)
+  (unrealized (3 3))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx) (w expt))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (exp (gen) (mul y y (rec w))) w))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((3 1) (0 4)) ((4 1) (3 0)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (precur (4 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y y (rec w))) w))
+    (exp (gen) (mul y y)) (3 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (exp (gen) (mul y y (rec w))) w))
+      (send (cat (exp (gen) (mul y y (rec w))) w))))
+  (label 62)
+  (parent 53)
+  (unrealized (4 0))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a b-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a) (b b-0) (ca ca) (x x) (y y))
+  (precedes ((0 0) (1 0)) ((0 3) (3 3)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((2 1) (3 1)) ((3 0) (2 0)) ((3 4) (0 4)))
+  (non-orig (privk b) (privk ca) (privk a))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (displaced 4 2 ca 2)
+    (enc (exp (gen) x) a (privk ca-0)) (3 1))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b-0 (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x))))))
+  (label 63)
+  (parent 54)
+  (unrealized (3 3))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a b-0 ca-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca-0) (x x))
+  (precedes ((0 0) (1 0)) ((0 3) (3 3)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((3 0) (2 0)) ((3 0) (4 0)) ((3 4) (0 4)) ((4 1) (3 1)))
+  (non-orig (privk b) (privk ca) (privk a) (privk ca-0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x) a (privk ca-0)) (3 1))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca-0)))))
+  (label 64)
+  (parent 54)
+  (unrealized (3 3))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca a-0 b-0 ca-0 name) (y y-0 x rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand resp 1 (b a) (y y-0))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0) (x x)
+    (y (mul y y-0 (rec x))))
+  (defstrand ca 2 (subject a-0) (ca ca-0) (x x))
+  (precedes ((0 0) (1 0)) ((0 3) (4 3)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((3 0) (2 0)) ((4 0) (5 0)) ((4 4) (0 4)) ((5 1) (4 1)))
+  (non-orig (privk a) (privk b) (privk ca) (privk a-0) (privk ca-0))
+  (uniq-gen y y-0 x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x) a-0 (privk ca-0)) (4 1))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (recv (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
+    ((send (enc "reg" (exp (gen) x) a-0 (privk a-0)))
+      (recv (enc (exp (gen) x) a-0 (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y y-0 (rec x)))
+          (enc (exp (gen) (mul y y-0 (rec x))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y y-0)))))
+      (send (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) x) a-0 (privk a-0)))
+      (send (enc (exp (gen) x) a-0 (privk ca-0)))))
+  (label 65)
+  (parent 55)
+  (unrealized (4 3))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y y-0 rndx) (w expt))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand resp 1 (b a) (y y-0))
+  (deflistener (exp (gen) (mul y y-0)))
+  (deflistener (cat (exp (gen) (mul y y-0 (rec w))) w))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 4)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y y-0)
+  (uniq-orig n)
+  (precur (5 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y y-0 (rec w))) w))
+    (exp (gen) (mul y y-0)) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (recv (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
+    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
+    ((recv (cat (exp (gen) (mul y y-0 (rec w))) w))
+      (send (cat (exp (gen) (mul y y-0 (rec w))) w))))
+  (label 66)
+  (parent 56)
+  (unrealized (5 0))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (gen) (mul y y)))
+  (deflistener y)
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 4))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (precur (3 0))
+  (operation nonce-test (added-listener y) (mul y y) (3 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y))))
+    ((recv y) (send y)))
+  (label 67)
+  (parent 58)
+  (unrealized (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a b-0 ca-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (x x)
+    (y (mul y y (rec x))))
+  (defstrand ca 2 (subject a) (ca ca-0) (x x))
+  (defstrand ca 2 (subject b-0) (ca ca-0) (x (mul y y (rec x))))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (5 0)) ((0 3) (3 3))
+    ((1 1) (0 1)) ((2 1) (0 2)) ((3 0) (4 0)) ((3 0) (5 0))
+    ((3 4) (0 4)) ((4 1) (3 1)) ((5 1) (3 3)))
+  (non-orig (privk b) (privk ca) (privk a) (privk b-0) (privk ca-0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0)) (3 3))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y y (rec x)))
+          (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y y)))))
+      (send (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca-0))))
+    ((recv (enc "reg" (exp (gen) (mul y y (rec x))) b-0 (privk b-0)))
+      (send (enc (exp (gen) (mul y y (rec x))) b-0 (privk ca-0)))))
+  (label 68)
+  (parent 61)
+  (unrealized (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (gen) (mul y y)))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((3 1) (0 4)) ((4 1) (3 0)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (precur (4 0))
+  (operation nonce-test (contracted (y-0 y) (w (mul y y))) (gen) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y)))))
+  (label 69)
+  (parent 62)
+  (unrealized (3 0) (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (exp (gen) y) y))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((3 1) (0 4)) ((4 1) (3 0)))
+  (non-orig (privk b) (privk ca))
+  (precur (4 0))
+  (uniq-gen y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 5 0 resp 1) (exp (gen) y-0) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (exp (gen) y) y)) (send (cat (exp (gen) y) y))))
+  (label 70)
+  (parent 62)
+  (unrealized (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (b ca b-0 name) (y y-0 rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (exp (gen) y-0) (mul y y (rec y-0))))
+  (defstrand resp 1 (b b-0) (y y-0))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((3 1) (0 4)) ((4 1) (3 0)) ((5 0) (4 0)))
+  (non-orig (privk b) (privk ca))
+  (precur (4 0))
+  (uniq-gen y y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 1) (exp (gen) y-0) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (exp (gen) y-0) (mul y y (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y y (rec y-0)))))
+    ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))))
+  (label 71)
+  (parent 62)
+  (unrealized (3 0) (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a name) (x y rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (precedes ((0 0) (1 0)) ((0 3) (3 3)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((2 1) (3 1)) ((3 0) (2 0)) ((3 4) (0 4)))
+  (non-orig (privk b) (privk ca) (privk a))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation encryption-test (displaced 4 1 ca 2)
+    (enc (exp (gen) y) b-0 (privk ca)) (3 3))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (recv (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y))))))
+  (label 72)
+  (parent 63)
+  (unrealized)
+  (shape)
+  (maps ((0) ((n n) (y y) (a a) (b b) (ca ca) (x x))))
+  (origs (n (0 3))))
+
+(defskeleton dhca
+  (vars (n text) (b ca a b-0 name) (x y rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a) (b b-0) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject b-0) (ca ca) (x y))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 3) (3 3)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((2 1) (3 1)) ((3 0) (2 0)) ((3 4) (0 4))
+    ((4 1) (3 3)))
+  (non-orig (privk b) (privk ca) (privk a) (privk b-0))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) y) b-0 (privk ca)) (3 3))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (recv (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b-0 (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) y) b-0 (privk b-0)))
+      (send (enc (exp (gen) y) b-0 (privk ca)))))
+  (label 73)
+  (parent 63)
+  (unrealized (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a name) (x y rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (precedes ((0 0) (1 0)) ((0 3) (3 3)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((3 0) (2 0)) ((3 0) (4 0)) ((3 4) (0 4)) ((4 1) (3 1)))
+  (non-orig (privk b) (privk ca) (privk a))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation encryption-test (displaced 5 1 ca 2)
+    (enc (exp (gen) y) b-0 (privk ca-0)) (3 3))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (recv (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca)))))
+  (label 74)
+  (parent 64)
+  (unrealized)
+  (shape)
+  (maps ((0) ((n n) (y y) (a a) (b b) (ca ca) (x x))))
+  (origs (n (0 3))))
+
+(defskeleton dhca
+  (vars (n text) (b ca a b-0 ca-0 name) (x y rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a) (b b-0) (ca ca-0) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca-0) (x x))
+  (defstrand ca 2 (subject b-0) (ca ca-0) (x y))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((0 3) (3 3)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 4) (0 4))
+    ((4 1) (3 1)) ((5 1) (3 3)))
+  (non-orig (privk b) (privk ca) (privk a) (privk b-0) (privk ca-0))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) y) b-0 (privk ca-0)) (3 3))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (recv (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca-0))))
+    ((recv (enc "reg" (exp (gen) y) b-0 (privk b-0)))
+      (send (enc (exp (gen) y) b-0 (privk ca-0)))))
+  (label 75)
+  (parent 64)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca a-0 b-0 ca-0 name) (y y-0 x rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand resp 1 (b a) (y y-0))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0) (x x)
+    (y (mul y y-0 (rec x))))
+  (defstrand ca 2 (subject a-0) (ca ca-0) (x x))
+  (defstrand ca 2 (subject b-0) (ca ca-0) (x (mul y y-0 (rec x))))
+  (precedes ((0 0) (1 0)) ((0 0) (6 0)) ((0 3) (4 3)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((3 0) (2 0)) ((3 0) (6 0)) ((4 0) (5 0))
+    ((4 0) (6 0)) ((4 4) (0 4)) ((5 1) (4 1)) ((6 1) (4 3)))
+  (non-orig (privk a) (privk b) (privk ca) (privk a-0) (privk b-0)
+    (privk ca-0))
+  (uniq-gen y y-0 x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) (mul y y-0 (rec x))) b-0 (privk ca-0)) (4 3))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (recv (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
+    ((send (enc "reg" (exp (gen) x) a-0 (privk a-0)))
+      (recv (enc (exp (gen) x) a-0 (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a-0 (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y y-0 (rec x)))
+          (enc (exp (gen) (mul y y-0 (rec x))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y y-0)))))
+      (send (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) x) a-0 (privk a-0)))
+      (send (enc (exp (gen) x) a-0 (privk ca-0))))
+    ((recv (enc "reg" (exp (gen) (mul y y-0 (rec x))) b-0 (privk b-0)))
+      (send (enc (exp (gen) (mul y y-0 (rec x))) b-0 (privk ca-0)))))
+  (label 76)
+  (parent 65)
+  (unrealized (6 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y y-0 rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand resp 1 (b a) (y y-0))
+  (deflistener (exp (gen) (mul y y-0)))
+  (deflistener (cat (gen) (mul y y-0)))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 4)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y y-0)
+  (uniq-orig n)
+  (precur (5 0))
+  (operation nonce-test (contracted (y-1 y) (y-2 y-0) (w (mul y y-0)))
+    (gen) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (recv (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
+    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
+    ((recv (cat (gen) (mul y y-0))) (send (cat (gen) (mul y y-0)))))
+  (label 77)
+  (parent 66)
+  (unrealized (4 0) (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y y-0 rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y-0) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y-0))
+  (defstrand ca 2 (subject a) (ca ca) (x y))
+  (defstrand resp 1 (b a) (y y))
+  (deflistener (exp (gen) (mul y y-0)))
+  (deflistener (cat (exp (gen) y-0) y))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 4)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (precur (5 0))
+  (uniq-gen y y-0)
+  (uniq-orig n)
+  (operation nonce-test (displaced 6 0 resp 1) (exp (gen) y-1) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y-0) b (privk b)))
+      (recv (enc (exp (gen) y-0) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) a (privk ca))))
+      (send
+        (cat (exp (gen) y-0) (enc (exp (gen) y-0) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (recv (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y-0) b (privk b)))
+      (send (enc (exp (gen) y-0) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) a (privk a)))
+      (send (enc (exp (gen) y) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y) a (privk a))))
+    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
+    ((recv (cat (exp (gen) y-0) y)) (send (cat (exp (gen) y-0) y))))
+  (label 78)
+  (parent 66)
+  (unrealized (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y y-0 rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand resp 1 (b a) (y y-0))
+  (deflistener (exp (gen) (mul y y-0)))
+  (deflistener (cat (exp (gen) y-0) y))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 4)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (precur (5 0))
+  (uniq-gen y y-0)
+  (uniq-orig n)
+  (operation nonce-test (displaced 6 3 resp 1) (exp (gen) y-1) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (recv (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
+    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
+    ((recv (cat (exp (gen) y-0) y)) (send (cat (exp (gen) y-0) y))))
+  (label 79)
+  (parent 66)
+  (unrealized (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca b-0 name) (y y-0 y-1 rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (defstrand resp 1 (b a) (y y-0))
+  (deflistener (exp (gen) (mul y y-0)))
+  (deflistener (cat (exp (gen) y-1) (mul y y-0 (rec y-1))))
+  (defstrand resp 1 (b b-0) (y y-1))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (0 2))
+    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 4)) ((5 1) (4 0))
+    ((6 0) (5 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (precur (5 0))
+  (uniq-gen y y-0 y-1)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 1) (exp (gen) y-1) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (recv (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((send (enc "reg" (exp (gen) y-0) a (privk a))))
+    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
+    ((recv (cat (exp (gen) y-1) (mul y y-0 (rec y-1))))
+      (send (cat (exp (gen) y-1) (mul y y-0 (rec y-1)))))
+    ((send (enc "reg" (exp (gen) y-1) b-0 (privk b-0)))))
+  (label 80)
+  (parent 66)
+  (unrealized (4 0) (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (b ca name) (y rndx))
+  (defstrand resp 5 (n n) (a b) (b b) (ca ca) (y y) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (deflistener (exp (gen) (mul y y)))
+  (deflistener (cat (gen) (mul y y)))
+  (deflistener y)
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((3 1) (0 4)) ((4 1) (3 0)) ((5 1) (4 0)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen y)
+  (uniq-orig n)
+  (precur (4 0))
+  (operation nonce-test (added-listener y) (mul y y) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y)))))
+      (recv (enc "check" n (exp (gen) (mul y y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (exp (gen) (mul y y))) (send (exp (gen) (mul y y))))
+    ((recv (cat (gen) (mul y y))) (send (cat (gen) (mul y y))))
+    ((recv y) (send y)))
+  (label 81)
+  (parent 69)
+  (unrealized (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a name) (x y rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 3) (3 3)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((2 1) (3 1)) ((3 0) (2 0)) ((3 4) (0 4))
+    ((4 1) (3 3)))
+  (non-orig (privk b) (privk ca) (privk a))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation encryption-test (displaced 5 0 resp 1)
+    (enc "reg" (exp (gen) y) b-0 (privk b-0)) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (recv (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca)))))
+  (label 82)
+  (parent 73)
+  (seen 72)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (b ca a ca-0 name) (x y rndx))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca-0) (x x) (y y))
+  (defstrand ca 2 (subject a) (ca ca-0) (x x))
+  (defstrand ca 2 (subject b) (ca ca-0) (x y))
+  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((0 3) (3 3)) ((1 1) (0 1))
+    ((2 1) (0 2)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 4) (0 4))
+    ((4 1) (3 1)) ((5 1) (3 3)))
+  (non-orig (privk b) (privk ca) (privk a) (privk ca-0))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation encryption-test (displaced 6 0 resp 1)
+    (enc "reg" (exp (gen) y) b-0 (privk b-0)) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (recv (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca-0)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca-0))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca-0))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca-0))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca-0)))))
+  (label 83)
+  (parent 75)
+  (unrealized)
+  (shape)
+  (maps ((0) ((n n) (y y) (a a) (b b) (ca ca) (x x))))
+  (origs (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol dhca diffie-hellman
+  (defrole init
+    (vars (x rndx) (a b ca name) (y expt) (n text))
+    (trace (send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    (non-orig (privk ca))
+    (uniq-gen x))
+  (defrole resp
+    (vars (y rndx) (a b ca name) (x expt) (n text))
+    (trace (send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    (non-orig (privk ca))
+    (uniq-gen y))
+  (defrole ca
+    (vars (subject ca name) (x expt))
+    (trace (recv (enc "reg" (exp (gen) x) subject (privk subject)))
+      (send (enc (exp (gen) x) subject (privk ca))))
+    (non-orig (privk subject)))
+  (comment A diffie-hellman exchange which uses a certificate authority
+    to certify long-term DH values))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (non-orig (privk ca))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (comment point of view in which init and resp each complete and they
+    agree on the relevant parameters)
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (recv (enc "check" n (exp (gen) (mul x y))))))
+  (label 84)
+  (unrealized (0 1) (0 3) (1 1) (1 2) (1 4))
+  (preskeleton)
+  (comment "Not a skeleton"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (precedes ((0 0) (1 2)) ((1 3) (0 3)))
+  (non-orig (privk ca))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (comment point of view in which init and resp each complete and they
+    agree on the relevant parameters)
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (recv (enc "check" n (exp (gen) (mul x y))))))
+  (label 85)
+  (parent 84)
+  (unrealized (0 1) (1 1) (1 2) (1 4))
+  (origs (n (1 3)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (precedes ((0 0) (1 2)) ((1 0) (2 0)) ((1 3) (0 3)) ((2 1) (1 1)))
+  (non-orig (privk b) (privk ca))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) y) b (privk ca)) (1 1))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (recv (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca)))))
+  (label 86)
+  (parent 85)
+  (unrealized (0 1) (1 2) (1 4))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((1 3) (0 3)) ((2 1) (1 1))
+    ((3 1) (1 2)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x) a (privk ca)) (1 2))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca)))))
+  (label 87)
+  (parent 86)
+  (unrealized (0 1) (1 4))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (precedes ((0 0) (3 0)) ((0 4) (1 4)) ((1 0) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 1)) ((3 1) (1 2)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (displaced 4 0 init 5)
+    (enc "check" n (exp (gen) (mul y x-0))) (1 4))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca)))))
+  (label 88)
+  (parent 87)
+  (unrealized (0 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca a-0 b-0 ca-0 name) (y x x-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0) (x x-0)
+    (y (mul y x (rec x-0))))
+  (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((1 3) (0 3)) ((1 3) (4 3))
+    ((2 1) (1 1)) ((3 1) (1 2)) ((4 4) (1 4)))
+  (non-orig (privk a) (privk b) (privk ca) (privk ca-0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation encryption-test (added-strand init 5)
+    (enc "check" n (exp (gen) (mul y x))) (1 4))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x-0) a-0 (privk a-0)))
+      (recv (enc (exp (gen) x-0) a-0 (privk ca-0)))
+      (send
+        (cat (exp (gen) x-0) (enc (exp (gen) x-0) a-0 (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y x (rec x-0)))
+          (enc (exp (gen) (mul y x (rec x-0))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x))))))
+  (label 89)
+  (parent 87)
+  (unrealized (0 1) (4 1) (4 3))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 0) (2 0)) ((1 0) (4 0))
+    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (added-listener (exp (gen) (mul y x)))
+    (enc "check" n (exp (gen) (mul y x))) (1 4))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))))
+  (label 90)
+  (parent 87)
+  (unrealized (0 1) (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (precedes ((0 0) (3 0)) ((0 4) (1 4)) ((1 0) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 1)) ((3 1) (0 1)) ((3 1) (1 2)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (displaced 4 3 ca 2)
+    (enc (exp (gen) x) a (privk ca)) (0 1))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca)))))
+  (label 91)
+  (parent 88)
+  (unrealized)
+  (shape)
+  (maps ((0 1) ((a a) (b b) (ca ca) (x x) (y y) (n n))))
+  (origs (n (1 3))))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 4) (1 4)) ((1 0) (2 0))
+    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (0 1)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x) a (privk ca)) (0 1))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca)))))
+  (label 92)
+  (parent 88)
+  (unrealized)
+  (shape)
+  (maps ((0 1) ((a a) (b b) (ca ca) (x x) (y y) (n n))))
+  (origs (n (1 3))))
+
+(defskeleton dhca
+  (vars (n text) (a b ca a-0 b-0 ca-0 name) (y x x-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0) (x x-0)
+    (y (mul y x (rec x-0))))
+  (defstrand ca 2 (subject a-0) (ca ca-0) (x x-0))
+  (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((1 3) (0 3)) ((1 3) (4 3))
+    ((2 1) (1 1)) ((3 1) (1 2)) ((4 0) (5 0)) ((4 4) (1 4))
+    ((5 1) (4 1)))
+  (non-orig (privk a) (privk b) (privk ca) (privk a-0) (privk ca-0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) x-0) a-0 (privk ca-0)) (4 1))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x-0) a-0 (privk a-0)))
+      (recv (enc (exp (gen) x-0) a-0 (privk ca-0)))
+      (send
+        (cat (exp (gen) x-0) (enc (exp (gen) x-0) a-0 (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y x (rec x-0)))
+          (enc (exp (gen) (mul y x (rec x-0))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) x-0) a-0 (privk a-0)))
+      (send (enc (exp (gen) x-0) a-0 (privk ca-0)))))
+  (label 93)
+  (parent 89)
+  (unrealized (0 1) (4 3))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y x rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) (mul y x (rec w))) w))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 0) (2 0)) ((1 0) (5 0))
+    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4))
+    ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (precur (5 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y x (rec w))) w))
+    (exp (gen) (mul y x)) (4 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) (mul y x (rec w))) w))
+      (send (cat (exp (gen) (mul y x (rec w))) w))))
+  (label 94)
+  (parent 90)
+  (unrealized (0 1) (5 0))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca a-0 b-0 ca-0 name) (y x x-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (ca ca-0) (x x-0)
+    (y (mul y x (rec x-0))))
+  (defstrand ca 2 (subject a-0) (ca ca-0) (x x-0))
+  (defstrand ca 2 (subject b-0) (ca ca-0) (x (mul y x (rec x-0))))
+  (precedes ((0 0) (3 0)) ((0 0) (6 0)) ((1 0) (2 0)) ((1 0) (6 0))
+    ((1 3) (0 3)) ((1 3) (4 3)) ((2 1) (1 1)) ((3 1) (1 2))
+    ((4 0) (5 0)) ((4 0) (6 0)) ((4 4) (1 4)) ((5 1) (4 1))
+    ((6 1) (4 3)))
+  (non-orig (privk a) (privk b) (privk ca) (privk a-0) (privk b-0)
+    (privk ca-0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation encryption-test (added-strand ca 2)
+    (enc (exp (gen) (mul y x (rec x-0))) b-0 (privk ca-0)) (4 3))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((send (enc "reg" (exp (gen) x-0) a-0 (privk a-0)))
+      (recv (enc (exp (gen) x-0) a-0 (privk ca-0)))
+      (send
+        (cat (exp (gen) x-0) (enc (exp (gen) x-0) a-0 (privk ca-0))))
+      (recv
+        (cat (exp (gen) (mul y x (rec x-0)))
+          (enc (exp (gen) (mul y x (rec x-0))) b-0 (privk ca-0))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) x-0) a-0 (privk a-0)))
+      (send (enc (exp (gen) x-0) a-0 (privk ca-0))))
+    ((recv (enc "reg" (exp (gen) (mul y x (rec x-0))) b-0 (privk b-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) b-0 (privk ca-0)))))
+  (label 95)
+  (parent 93)
+  (unrealized (0 1) (6 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (gen) (mul y x)))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 0) (2 0)) ((1 0) (5 0))
+    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4))
+    ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (precur (5 0))
+  (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen)
+    (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (gen) (mul y x))) (send (cat (gen) (mul y x)))))
+  (label 96)
+  (parent 94)
+  (unrealized (0 1) (4 0) (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x y-0) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x y-0))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x y-0))
+  (deflistener (exp (gen) (mul y y-0)))
+  (deflistener (cat (exp (gen) y-0) y))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 0) (2 0)) ((1 0) (5 0))
+    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4))
+    ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (precur (5 0))
+  (uniq-gen y y-0)
+  (uniq-orig n)
+  (operation nonce-test (displaced 6 0 resp 1) (exp (gen) y-1) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) y-0) a (privk a)))
+      (recv (enc (exp (gen) y-0) a (privk ca)))
+      (send (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (send (enc "check" n (exp (gen) (mul y y-0)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) y-0) (enc (exp (gen) y-0) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y y-0)))))
+      (recv (enc "check" n (exp (gen) (mul y y-0)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) y-0) a (privk a)))
+      (send (enc (exp (gen) y-0) a (privk ca))))
+    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
+    ((recv (cat (exp (gen) y-0) y)) (send (cat (exp (gen) y-0) y))))
+  (label 97)
+  (parent 94)
+  (unrealized (0 1) (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 0) (2 0)) ((1 0) (5 0))
+    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4))
+    ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (precur (5 0))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 6 1 resp 1) (exp (gen) y-0) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (send (enc "check" n (exp (gen) (mul x y)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul x y)))))
+      (recv (enc "check" n (exp (gen) (mul x y)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 98)
+  (parent 94)
+  (unrealized (0 1) (5 0))
+  (comment "empty cohort"))
+
+(defskeleton dhca
+  (vars (n text) (a b ca b-0 name) (y x y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (ca ca) (x x) (y y))
+  (defstrand resp 5 (n n) (a a) (b b) (ca ca) (y y) (x x))
+  (defstrand ca 2 (subject b) (ca ca) (x y))
+  (defstrand ca 2 (subject a) (ca ca) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) y-0) (mul y x (rec y-0))))
+  (defstrand resp 1 (b b-0) (y y-0))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 0) (2 0)) ((1 0) (5 0))
+    ((1 3) (0 3)) ((2 1) (1 1)) ((3 1) (1 2)) ((4 1) (1 4))
+    ((5 1) (4 0)) ((6 0) (5 0)))
+  (non-orig (privk a) (privk b) (privk ca))
+  (precur (5 0))
+  (uniq-gen y x y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 1) (exp (gen) y-0) (5 0))
+  (traces
+    ((send (enc "reg" (exp (gen) x) a (privk a)))
+      (recv (enc (exp (gen) x) a (privk ca)))
+      (send (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (recv
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (send (enc "check" n (exp (gen) (mul y x)))))
+    ((send (enc "reg" (exp (gen) y) b (privk b)))
+      (recv (enc (exp (gen) y) b (privk ca)))
+      (recv (cat (exp (gen) x) (enc (exp (gen) x) a (privk ca))))
+      (send
+        (cat (exp (gen) y) (enc (exp (gen) y) b (privk ca))
+          (enc n (exp (gen) (mul y x)))))
+      (recv (enc "check" n (exp (gen) (mul y x)))))
+    ((recv (enc "reg" (exp (gen) y) b (privk b)))
+      (send (enc (exp (gen) y) b (privk ca))))
+    ((recv (enc "reg" (exp (gen) x) a (privk a)))
+      (send (enc (exp (gen) x) a (privk ca))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) y-0) (mul y x (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y x (rec y-0)))))
     ((send (enc "reg" (exp (gen) y-0) b-0 (privk b-0)))))
   (label 99)
   (parent 94)
diff --git a/tst/dh_mim.scm b/tst/dh_mim.scm
--- a/tst/dh_mim.scm
+++ b/tst/dh_mim.scm
@@ -13,26 +13,26 @@
 
 (defprotocol dh_mim diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (n text))
+    (vars (x rndx) (y expt) (n text))
     (trace
      (send (exp (gen) x))
-     (recv h)
-     (send (enc n (exp h x))))
+     (recv (exp (gen) y))
+     (send (enc n (exp (gen) (mul y x)))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (n text))
+    (vars (y rndx) (x expt) (n text))
     (trace
-     (recv h)
+     (recv (exp (gen) x))
      (send (exp (gen) y))
-     (recv (enc n (exp h y))))
+     (recv (enc n (exp (gen) (mul x y)))))
     (uniq-gen y))
   (comment "Diffie-hellman key exchange followed by an encryption"))
 
 
 (defskeleton dh_mim
-  (vars (n text) (hx hy base) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h hx) (y y))
+  (vars (n text) (x0 y0 expt) (x y rndx))
+  (defstrand init 3 (n n) (y y0) (x x))
+  (defstrand resp 3 (n n) (x x0) (y y))
   (precedes ((0 2) (1 2)))
   (uniq-orig n)
   (pen-non-orig x y)
diff --git a/tst/dh_mim.tst b/tst/dh_mim.tst
--- a/tst/dh_mim.tst
+++ b/tst/dh_mim.tst
@@ -1,18884 +1,42 @@
 (herald "Diffie-Hellman protocol, man-in-the-middle attack"
   (algebra diffie-hellman))
 
-(comment "CPSA 3.4.0")
-(comment "All input read from dh_mim.scm")
-
-(defprotocol dh_mim diffie-hellman
-  (defrole init
-    (vars (x expn) (h base) (n text))
-    (trace (send (exp (gen) x)) (recv h) (send (enc n (exp h x))))
-    (uniq-gen x))
-  (defrole resp
-    (vars (y expn) (h base) (n text))
-    (trace (recv h) (send (exp (gen) y)) (recv (enc n (exp h y))))
-    (uniq-gen y)
-    (absent (y h)))
-  (comment "Diffie-hellman key exchange followed by an encryption"))
-
-(defskeleton dh_mim
-  (vars (n text) (hx hy base) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h hx) (y y))
-  (precedes ((0 2) (1 2)))
-  (absent (y hx))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (comment "Agreement on the encrypted text only")
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv hx) (send (exp (gen) y)) (recv (enc n (exp hx y)))))
-  (label 0)
-  (unrealized (1 2))
-  (origs (n (0 2)))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x y expn))
-  (defstrand init 3 (n n) (h (exp hy y)) (x x))
-  (defstrand resp 3 (n n) (h (exp hy x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)))
-  (absent (y (exp hy x)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation encryption-test (displaced 2 0 init 3) (enc n (exp hx y-0))
-    (1 2))
-  (traces
-    ((send (exp (gen) x)) (recv (exp hy y))
-      (send (enc n (exp hy (mul x y)))))
-    ((recv (exp hy x)) (send (exp (gen) y))
-      (recv (enc n (exp hy (mul x y))))))
-  (label 1)
-  (parent 0)
-  (unrealized (0 1) (1 0))
-  (origs (n (0 2)))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hx hy base) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h hx) (y y))
-  (deflistener (exp hx y))
-  (precedes ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2)))
-  (absent (y hx))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation encryption-test (added-listener (exp hx y))
-    (enc n (exp hx y)) (1 2))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv hx) (send (exp (gen) y)) (recv (enc n (exp hx y))))
-    ((recv (exp hx y)) (send (exp hx y))))
-  (label 2)
-  (parent 0)
-  (unrealized (1 2) (2 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (hy (exp (gen) (rec x)))) (gen)
-    (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))))
-  (label 3)
-  (parent 1)
-  (unrealized (0 1))
-  (origs (n (0 2)))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul y x)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x))))))
-  (label 4)
-  (parent 1)
-  (unrealized)
-  (shape)
-  (maps
-    ((0 1) ((n n) (hx (exp (gen) x)) (hy (exp (gen) y)) (x x) (y y))))
-  (origs (n (0 2))))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 0) (1 0)))
-  (absent (y (exp (gen) x-0)))
-  (pen-non-orig x y)
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0))))
-  (label 5)
-  (parent 1)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (pen-non-orig x y)
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 6)
-  (parent 1)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h (exp hy y)) (x x))
-  (defstrand resp 3 (n n) (h (exp hy x)) (y y))
-  (deflistener (cat (exp hy (mul x (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y (exp hy x)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp hy (mul x (rec w))) w)) (exp hy x) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp hy y))
-      (send (enc n (exp hy (mul x y)))))
-    ((recv (exp hy x)) (send (exp (gen) y))
-      (recv (enc n (exp hy (mul x y)))))
-    ((recv (cat (exp hy (mul x (rec w))) w))
-      (send (cat (exp hy (mul x (rec w))) w))))
-  (label 7)
-  (parent 1)
-  (unrealized (0 1) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (precedes ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (2 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y))))
-  (label 8)
-  (parent 2)
-  (unrealized (1 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hx hy base) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h hx) (y y))
-  (deflistener (exp hx y))
-  (deflistener (cat (exp hx (mul y (rec w))) w))
-  (precedes ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y hx))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp hx (mul y (rec w))) w)) (exp hx y) (2 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv hx) (send (exp (gen) y)) (recv (enc n (exp hx y))))
-    ((recv (exp hx y)) (send (exp hx y)))
-    ((recv (cat (exp hx (mul y (rec w))) w))
-      (send (cat (exp hx (mul y (rec w))) w))))
-  (label 9)
-  (parent 2)
-  (unrealized (1 2) (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-    (exp (gen) (mul (rec x) y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (cat (exp (gen) (mul (rec x) y (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y (rec w))) w))))
-  (label 10)
-  (parent 3)
-  (unrealized (2 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (pen-non-orig x y)
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))
-    (exp (gen) (mul (rec x) y x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))))
-  (label 11)
-  (parent 5)
-  (unrealized (3 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (pen-non-orig x y)
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))
-    (exp (gen) (mul (rec x) y y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))))
-  (label 12)
-  (parent 6)
-  (unrealized (3 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (hy (exp (gen) (mul (rec x) w))))
-    (gen) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w)))
-      (send (enc n (exp (gen) (mul y w)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w)))))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 13)
-  (parent 7)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y w))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (pen-non-orig y x)
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y w)))
-      (send (enc n (exp (gen) (mul y w x)))))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w x)))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 14)
-  (parent 7)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w x-0)))
-      (send (enc n (exp (gen) (mul y w x-0)))))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w x-0)))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 15)
-  (parent 7)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)))
-  (absent (y-0 h) (y (exp (gen) (mul w y-0))))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w y-0)))
-      (send (enc n (exp (gen) (mul y w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w y-0)))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 16)
-  (parent 7)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (precedes ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (1 2)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (hy (exp (gen) (mul (rec x) y)))) n
-    (1 2) (enc n (exp (gen) y)))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y))))
-  (label 17)
-  (parent 8)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp hy x))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener (exp hy x)) n (1 2)
-    (enc n (exp hy x)))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp hy x)) (send (exp hy x))))
-  (label 18)
-  (parent 8)
-  (unrealized (3 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (hx (exp (gen) w)) (y-0 y) (w (mul w y))) (gen) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 19)
-  (parent 9)
-  (unrealized (1 2) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x y)))))
-    ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))))
-  (label 20)
-  (parent 9)
-  (unrealized (1 2) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (exp (gen) (mul w x-0 y)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 0) (1 0)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x-0 y)))))
-    ((recv (exp (gen) (mul w x-0 y))) (send (exp (gen) (mul w x-0 y))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0))))
-  (label 21)
-  (parent 9)
-  (unrealized (1 2) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 22)
-  (parent 9)
-  (unrealized (1 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (pen-non-orig x y-0)
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y y-0)))))
-    ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 23)
-  (parent 9)
-  (unrealized (1 2) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul (rec x) y)))
-    (gen) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (cat (gen) (mul (rec x) y)))
-      (send (cat (gen) (mul (rec x) y)))))
-  (label 24)
-  (parent 10)
-  (unrealized (0 1) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (cat (exp (gen) x) (mul y (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x) (rec x))))))
-  (label 25)
-  (parent 10)
-  (unrealized (0 1) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (0 1))
-    ((3 0) (2 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 26)
-  (parent 10)
-  (unrealized (0 1) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 27)
-  (parent 10)
-  (unrealized (0 1) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 28)
-  (parent 10)
-  (unrealized (0 1) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) y x-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (pen-non-orig x y)
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (x-2 x-0) (w (mul (rec x) y x-0))) (gen)
-    (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul (rec x) y x-0)))
-      (send (cat (gen) (mul (rec x) y x-0)))))
-  (label 29)
-  (parent 11)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (pen-non-orig y x-0)
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul y x (rec x-0))))
-      (send (enc n (exp (gen) (mul y x)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x))))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))))
-  (label 30)
-  (parent 11)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y)))
-      (send (cat (exp (gen) x-0) (mul (rec x) y)))))
-  (label 31)
-  (parent 11)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)) ((4 0) (3 0)))
-  (absent (y (exp (gen) x-0)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 32)
-  (parent 11)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0 y)))
-      (send (enc n (exp (gen) (mul x-0 y)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x-0 y))))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
-      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
-  (label 33)
-  (parent 11)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-0 h) (y (exp (gen) x-0)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 34)
-  (parent 11)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul (rec x) y y-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (pen-non-orig x y)
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (y-2 y-0) (w (mul (rec x) y y-0))) (gen)
-    (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul (rec x) y y-0)))
-      (send (cat (gen) (mul (rec x) y y-0)))))
-  (label 35)
-  (parent 12)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul y y-0 (rec x) (rec x))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (pen-non-orig y x)
-  (precur (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y y-0 (rec x))))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul y y-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y y-0 (rec x) (rec x))))))
-  (label 36)
-  (parent 12)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (3 0)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 37)
-  (parent 12)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y)) (y y-0))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y-0 (exp (gen) y)) (y h))
-  (pen-non-orig x y-0)
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y)))
-      (send (cat (exp (gen) y-0) (mul (rec x) y)))))
-  (label 38)
-  (parent 12)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 resp 2) (exp (gen) y-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y)))
-      (send (cat (exp (gen) y-0) (mul (rec x) y)))))
-  (label 39)
-  (parent 12)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (x y y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) y-0)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 40)
-  (parent 12)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y (exp (gen) x)))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (gen) x)) (send (cat (gen) x))))
-  (label 41)
-  (parent 13)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w)))
-      (send (enc n (exp (gen) (mul y w)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w)))))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))))
-  (label 42)
-  (parent 13)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y w))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x))) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)))
-  (absent (y (exp (gen) (mul w x))))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y w)))
-      (send (enc n (exp (gen) (mul y w x)))))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w x))))))
-  (label 43)
-  (parent 14)
-  (unrealized)
-  (shape)
-  (maps
-    ((0 1)
-      ((n n) (hx (exp (gen) (mul w x))) (hy (exp (gen) (mul y w))) (x x)
-        (y y))))
-  (origs (n (0 2))))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)))
-  (absent (y (exp (gen) x)))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 44)
-  (parent 15)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr) (x-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w x-0)))
-      (send (enc n (exp (gen) (mul y w x-0)))))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w x-0)))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))))
-  (label 45)
-  (parent 15)
-  (unrealized (4 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y h))
-  (pen-non-orig x y-0)
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 46)
-  (parent 16)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) (mul w y-0))))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w y-0)))
-      (send (enc n (exp (gen) (mul y w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w y-0)))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))))
-  (label 47)
-  (parent 16)
-  (unrealized (4 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-    (exp (gen) (mul (rec x) y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) (mul (rec x) y (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y (rec w))) w))))
-  (label 48)
-  (parent 17)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (hy (exp (gen) (rec x)))) (gen)
-    (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen))))
-  (label 49)
-  (parent 18)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x)) (send (exp (gen) x))))
-  (label 50)
-  (parent 18)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 0) (0 1)) ((4 0) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0))))
-  (label 51)
-  (parent 18)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (1 2)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y))))
-  (label 52)
-  (parent 18)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 53)
-  (parent 18)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp hy x))
-  (deflistener (cat (exp hy (mul x (rec w))) w))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (4 0))
-  (operation nonce-test
-    (added-listener (cat (exp hy (mul x (rec w))) w)) (exp hy x) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp hy x)) (send (exp hy x)))
-    ((recv (cat (exp hy (mul x (rec w))) w))
-      (send (cat (exp hy (mul x (rec w))) w))))
-  (label 54)
-  (parent 18)
-  (unrealized (4 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (3 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 55)
-  (parent 19)
-  (unrealized (1 2) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x y)))))
-    ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((recv y) (send y)))
-  (label 56)
-  (parent 20)
-  (unrealized (1 2) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (exp (gen) (mul w x-0 y)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 0) (1 0)) ((5 1) (3 0)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x-0 y)))))
-    ((recv (exp (gen) (mul w x-0 y))) (send (exp (gen) (mul w x-0 y))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0)))
-    ((recv y) (send y)))
-  (label 57)
-  (parent 21)
-  (unrealized (1 2) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (hy (exp (gen) (mul (rec x) w y))))
-    n (1 2) (enc n (exp (gen) (mul w y))))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w y)))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 58)
-  (parent 22)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp hy x))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener (exp hy x)) n (1 2)
-    (enc n (exp hy x)))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp hy x)) (send (exp hy x))))
-  (label 59)
-  (parent 22)
-  (unrealized (4 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 0)) ((5 1) (3 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (pen-non-orig x y-0)
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y y-0)))))
-    ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 60)
-  (parent 23)
-  (unrealized (1 2) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (0 1)) ((3 1) (2 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 61)
-  (parent 27)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test
-    (contracted (x-0 x) (y-0 y) (w-0 (mul x w)) (w-1 (mul w y)) (y-1 y)
-      (w (mul w y))) (gen) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 62)
-  (parent 42)
-  (unrealized (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul w x x))))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x x y)))))
-    ((recv (cat (gen) (mul w x x))) (send (cat (gen) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))))
-  (label 63)
-  (parent 42)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (cat (gen) (mul x w x-0))) (send (cat (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0))))
-  (label 64)
-  (parent 42)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 65)
-  (parent 42)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (pen-non-orig x y-0)
-  (precur (3 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (gen) (mul x w y))) (send (cat (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 66)
-  (parent 42)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (w-0 (mul x (rec x-0) w)) (x-2 x-0)
-      (w-1 (mul w y)) (y-1 y) (w (mul w y))) (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 67)
-  (parent 45)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0 x-0))) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul w x-0 x-0))))
-  (pen-non-orig x-0 y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul w x-0 x-0 y)))))
-    ((recv (exp (gen) (mul w x-0 x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x-0 x-0 y)))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))))
-  (label 68)
-  (parent 45)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))))
-  (label 69)
-  (parent 45)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (x-1 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-1 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-1))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w y)))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)))
-  (absent (y (exp (gen) (mul x w x-1))))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-1 y)))
-      (send (enc n (exp (gen) (mul x w x-1 y)))))
-    ((recv (exp (gen) (mul x w x-1))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-1 y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w x-1))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w y)))
-      (send (cat (exp (gen) x-1) (mul w y)))) ((send (exp (gen) x-1))))
-  (label 70)
-  (parent 45)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 71)
-  (parent 45)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 72)
-  (parent 45)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul x w))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w-0 (mul x (rec y) w)) (y-2 y)
-      (w-1 (mul w y-0)) (y-3 y-0) (w (mul w y-0))) (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul w y-0))) (send (cat (gen) (mul w y-0)))))
-  (label 73)
-  (parent 47)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul w x x))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y-0)))
-      (send (enc n (exp (gen) (mul w x x y-0)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w x x y-0)))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x x))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w y-0)))
-      (send (cat (exp (gen) x) (mul w y-0)))))
-  (label 74)
-  (parent 47)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w x-0))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w x-0 y-0)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w x-0 y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w x-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul w y-0)))
-      (send (cat (exp (gen) x-0) (mul w y-0))))
-    ((send (exp (gen) x-0))))
-  (label 75)
-  (parent 47)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 (exp (gen) (mul x w))) (y h))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w))))
-  (label 76)
-  (parent 47)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 resp 2) (exp (gen) y-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))))
-  (label 77)
-  (parent 47)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y-0))) (y y-1))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y-0 h-0) (y h) (y-1 (exp (gen) (mul x w y-0))))
-  (pen-non-orig x y-1)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w y-0 y-1)))))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y-1))
-      (recv (enc n (exp (gen) (mul x w y-0 y-1)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w y-1)))
-      (send (cat (exp (gen) y-0) (mul w y-1))))
-    ((recv h-0) (send (exp (gen) y-0))))
-  (label 78)
-  (parent 47)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul (rec x) y)))
-    (gen) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul (rec x) y)))
-      (send (cat (gen) (mul (rec x) y)))))
-  (label 79)
-  (parent 48)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul y (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x) (rec x))))))
-  (label 80)
-  (parent 48)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (0 1)) ((4 0) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 81)
-  (parent 48)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 82)
-  (parent 48)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 83)
-  (parent 48)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) (mul (rec x) (rec w))) w))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (4 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) (rec w))) w))
-    (exp (gen) (rec x)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) (mul (rec x) (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) (rec w))) w))))
-  (label 84)
-  (parent 49)
-  (unrealized (4 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) x))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((2 1) (1 2)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) x)) (send (exp (gen) x))))
-  (label 85)
-  (parent 50)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) x-0 (rec w))) w))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 0) (3 0)) ((4 0) (5 0))
-    ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (precur (5 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) x-0 (rec w))) w))
-    (exp (gen) (mul (rec x) x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) x-0 (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) x-0 (rec w))) w))))
-  (label 86)
-  (parent 51)
-  (unrealized (5 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (3 0)) ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (4 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-    (exp (gen) (mul (rec x) y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) (mul (rec x) y (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y (rec w))) w))))
-  (label 87)
-  (parent 52)
-  (unrealized (4 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y-0 (rec w))) w))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((4 1) (5 0))
-    ((5 1) (0 1)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (precur (5 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y-0 (rec w))) w))
-    (exp (gen) (mul (rec x) y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y-0 (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y-0 (rec w))) w))))
-  (label 88)
-  (parent 53)
-  (unrealized (5 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (4 0))
-  (operation nonce-test (contracted (hy (exp (gen) (mul (rec x) w))))
-    (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w)))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 89)
-  (parent 54)
-  (unrealized (0 1))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 90)
-  (parent 54)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (0 1)) ((5 0) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w x-0)))
-      (send (enc n (exp (gen) (mul w x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 91)
-  (parent 54)
-  (unrealized (0 1))
-  (comment "7 in cohort - 7 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w y)))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 92)
-  (parent 54)
-  (unrealized (0 1))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w y-0)))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 93)
-  (parent 54)
-  (unrealized (0 1))
-  (comment "7 in cohort - 7 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 94)
-  (parent 58)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w y)))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))))
-  (label 95)
-  (parent 58)
-  (unrealized (4 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (hy (exp (gen) (rec x)))) (gen)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen))))
-  (label 96)
-  (parent 59)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x))))
-  (label 97)
-  (parent 59)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (0 1)) ((5 0) (4 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0))))
-  (label 98)
-  (parent 59)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y))))
-  (label 99)
-  (parent 59)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 100)
-  (parent 59)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp hy x))
-  (deflistener (cat (exp hy (mul x (rec w-0))) w-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp hy (mul x (rec w-0))) w-0)) (exp hy x)
-    (4 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp hy x)) (send (exp hy x)))
-    ((recv (cat (exp hy (mul x (rec w-0))) w-0))
-      (send (cat (exp hy (mul x (rec w-0))) w-0))))
-  (label 101)
-  (parent 59)
-  (unrealized (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 102)
-  (parent 62)
-  (unrealized (2 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (exp (gen) (mul w x x))))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x x y)))))
-    ((recv (cat (gen) (mul w x x))) (send (cat (gen) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((recv y) (send y)))
-  (label 103)
-  (parent 63)
-  (unrealized (1 0) (2 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((5 1) (3 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (cat (gen) (mul x w x-0))) (send (cat (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0)))
-    ((recv y) (send y)))
-  (label 104)
-  (parent 64)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 105)
-  (parent 65)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (x w) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w) w (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))))
-  (label 106)
-  (parent 65)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv x) (send x)))
-  (label 107)
-  (parent 65)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((5 1) (3 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (pen-non-orig x y-0)
-  (precur (3 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (gen) (mul x w y))) (send (cat (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 108)
-  (parent 66)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 109)
-  (parent 67)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0 x-0))) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul w x-0 x-0))))
-  (pen-non-orig x-0 y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul w x-0 x-0 y)))))
-    ((recv (exp (gen) (mul w x-0 x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x-0 x-0 y)))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((recv y) (send y)))
-  (label 110)
-  (parent 68)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((recv y) (send y)))
-  (label 111)
-  (parent 69)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (x-1 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-1 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-1))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w y)))
-  (defstrand init 1 (x x-1))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)) ((6 1) (4 0)))
-  (absent (y (exp (gen) (mul x w x-1))))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-1 y)))
-      (send (enc n (exp (gen) (mul x w x-1 y)))))
-    ((recv (exp (gen) (mul x w x-1))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-1 y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w x-1))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w y)))
-      (send (cat (exp (gen) x-1) (mul w y)))) ((send (exp (gen) x-1)))
-    ((recv y) (send y)))
-  (label 112)
-  (parent 70)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (pen-non-orig y x)
-  (precur (4 0) (2 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0))) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x) x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0)))))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
-      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
-  (label 113)
-  (parent 71)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (x-0 (mul (rec x) w)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w))
-    (mul (rec x) w) (2 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y (rec x-0))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w (rec x-0))))
-      (send (cat (exp (gen) y) (mul w (rec x-0))))))
-  (label 114)
-  (parent 71)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (x-0 (mul x w)) (y (exp (gen) (mul x w x-0))))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w)) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y x-0)))
-      (send (enc n (exp (gen) (mul x w y x-0)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y x-0)))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w x-0)))
-      (send (cat (exp (gen) y) (mul w x-0)))))
-  (label 115)
-  (parent 71)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)) ((6 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 116)
-  (parent 72)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul w y-0))) (send (cat (gen) (mul w y-0))))
-    ((recv y-0) (send y-0)))
-  (label 117)
-  (parent 73)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w x x))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y-0)))
-      (send (enc n (exp (gen) (mul w x x y-0)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w x x y-0)))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x x))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w y-0)))
-      (send (cat (exp (gen) x) (mul w y-0)))) ((recv y-0) (send y-0)))
-  (label 118)
-  (parent 74)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)) ((6 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w x-0))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w x-0 y-0)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w x-0 y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w x-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul w y-0)))
-      (send (cat (exp (gen) x-0) (mul w y-0)))) ((send (exp (gen) x-0)))
-    ((recv y-0) (send y-0)))
-  (label 119)
-  (parent 75)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) y-0)) (y-0 h))
-  (pen-non-orig y x)
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w (mul (rec x) y-0))) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x) y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) y-0)))
-      (send (cat (exp (gen) y) (mul (rec x) y-0)))))
-  (label 120)
-  (parent 76)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (x (mul (rec y) w)) (y-0 (exp (gen) w)) (y h))
-  (pen-non-orig y-0 x)
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w))
-    (mul (rec y) w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x))))))
-  (label 121)
-  (parent 76)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 (mul x w)) (y (exp (gen) (mul x w y-0))) (y-0 h))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w)) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) y-0) (mul x w)))
-      (send (cat (exp (gen) y-0) (mul x w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))))
-  (label 122)
-  (parent 76)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))) ((recv y-0) (send y-0)))
-  (label 123)
-  (parent 77)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y-0))) (y y-1))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (deflistener y-1)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)) ((6 1) (4 0)))
-  (absent (y-0 h-0) (y h) (y-1 (exp (gen) (mul x w y-0))))
-  (pen-non-orig x y-1)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-1) (mul w y-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w y-0 y-1)))))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y-1))
-      (recv (enc n (exp (gen) (mul x w y-0 y-1)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w y-1)))
-      (send (cat (exp (gen) y-0) (mul w y-1))))
-    ((recv h-0) (send (exp (gen) y-0))) ((recv y-1) (send y-1)))
-  (label 124)
-  (parent 78)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 125)
-  (parent 82)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (gen) (rec x)))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (4 0))
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x)))))
-  (label 126)
-  (parent 84)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x))))))
-  (label 127)
-  (parent 84)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (0 1)) ((5 0) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 128)
-  (parent 84)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) y) (mul (rec x) (rec y))))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) y) (mul (rec x) (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) (rec y))))))
-  (label 129)
-  (parent 84)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 130)
-  (parent 84)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (precedes ((0 2) (1 2)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))))
-  (label 131)
-  (parent 85)
-  (unrealized)
-  (shape)
-  (maps ((0 1) ((n n) (hx (gen)) (hy (gen)) (x x) (y y))))
-  (origs (n (0 2))))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) x-0)))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 0) (3 0)) ((4 0) (5 0))
-    ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (precur (5 0))
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0))) (gen) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul (rec x) x-0)))
-      (send (cat (gen) (mul (rec x) x-0)))))
-  (label 132)
-  (parent 86)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 0) (3 0)) ((4 0) (5 0))
-    ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (5 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x)) (send (exp (gen) x))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))))
-  (label 133)
-  (parent 86)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (rec x)))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 0) (3 0)) ((4 0) (5 0))
-    ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 4 init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (rec x)))
-      (send (cat (exp (gen) x-0) (rec x)))))
-  (label 134)
-  (parent 86)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 0) (3 0)) ((4 0) (5 0))
-    ((5 1) (0 1)) ((6 0) (5 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 135)
-  (parent 86)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 0) (3 0))
-    ((4 0) (5 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))))
-  (label 136)
-  (parent 86)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 0) (3 0)) ((4 0) (5 0))
-    ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 137)
-  (parent 86)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (3 0)) ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (4 0))
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul (rec x) y)))
-    (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul (rec x) y)))
-      (send (cat (gen) (mul (rec x) y)))))
-  (label 138)
-  (parent 87)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (3 0)) ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul y (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x) (rec x))))))
-  (label 139)
-  (parent 87)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (3 0)) ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (0 1)) ((5 0) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 140)
-  (parent 87)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (3 0)) ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 141)
-  (parent 87)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (3 0)) ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 142)
-  (parent 87)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul (rec x) y-0)))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((4 1) (5 0))
-    ((5 1) (0 1)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (precur (5 0))
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w (mul (rec x) y-0))) (gen) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul (rec x) y-0)))
-      (send (cat (gen) (mul (rec x) y-0)))))
-  (label 143)
-  (parent 88)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((4 1) (5 0))
-    ((5 1) (0 1)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))))
-  (label 144)
-  (parent 88)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((4 1) (5 0))
-    ((5 1) (0 1)) ((6 0) (5 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 145)
-  (parent 88)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y-0))
-  (deflistener (exp (gen) y-0))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0))
-    ((4 1) (5 0)) ((5 1) (0 1)))
-  (absent (y-0 (gen)) (y h))
-  (pen-non-orig x y-0)
-  (precur (5 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-1) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y-0)) (recv (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))))
-  (label 146)
-  (parent 88)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((4 1) (5 0))
-    ((5 1) (0 1)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 4 resp 2) (exp (gen) y-1) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))))
-  (label 147)
-  (parent 88)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (y x y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((4 1) (5 0))
-    ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y-1 h-0) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 148)
-  (parent 88)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (4 0))
-  (operation nonce-test (contracted (x-0 x) (w x)) (gen) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (gen) x)) (send (cat (gen) x))))
-  (label 149)
-  (parent 89)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x)))))
-  (label 150)
-  (parent 89)
-  (unrealized (3 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (0 1)) ((5 0) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))))
-  (label 151)
-  (parent 89)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))))
-  (label 152)
-  (parent 89)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (gen) (mul x y-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (gen) (mul x y-0))) (send (cat (gen) (mul x y-0))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 153)
-  (parent 89)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) (mul (rec x) w (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (5 0) (4 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w)))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) (mul (rec x) w (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) w (rec w-0))) w-0))))
-  (label 154)
-  (parent 89)
-  (unrealized (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 155)
-  (parent 90)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (0 1)) ((5 0) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w (mul x (rec x-0))) (x-2 x-0)) (gen) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 156)
-  (parent 91)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-0)))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (0 1)) ((5 0) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x-0 x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x-0 x-0))) (send (exp (gen) (mul x-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) x-0 x-0))))
-    ((send (exp (gen) x))))
-  (label 157)
-  (parent 91)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (0 1)) ((5 0) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 5 init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))))
-  (label 158)
-  (parent 91)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-1)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand init 1 (x x-0))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (0 1)) ((5 0) (4 0))
-    ((6 0) (0 1)) ((6 0) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-1))
-      (send (enc n (exp (gen) (mul x x-1)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1))))
-    ((send (exp (gen) x-0))) ((send (exp (gen) x-1))))
-  (label 159)
-  (parent 91)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0))
-    ((5 0) (0 1)) ((5 0) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) y))))
-    ((send (exp (gen) x-0))))
-  (label 160)
-  (parent 91)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y-0)))
-  (defstrand init 1 (x x-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (0 1)) ((5 0) (4 0))
-    ((6 1) (0 1)) ((6 1) (4 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) y-0))))
-    ((send (exp (gen) x-0))) ((recv h) (send (exp (gen) y-0))))
-  (label 161)
-  (parent 91)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr) (x-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w x-0)))
-      (send (enc n (exp (gen) (mul w x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0))))
-  (label 162)
-  (parent 91)
-  (unrealized (6 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w (mul x (rec y))) (y-0 y))
-    (gen) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y))))))
-  (label 163)
-  (parent 92)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x)))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) x x)))
-      (send (cat (exp (gen) y) (mul (rec y) x x)))))
-  (label 164)
-  (parent 92)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0))
-    ((5 0) (0 1)) ((5 0) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) x-0))))
-    ((send (exp (gen) x-0))))
-  (label 165)
-  (parent 92)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 166)
-  (parent 92)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0))
-    ((5 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) y-0))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 167)
-  (parent 92)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w y)))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))))
-  (label 168)
-  (parent 92)
-  (unrealized (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w (mul x (rec y-0))) (y-1 y-0)) (gen) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 169)
-  (parent 93)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) x x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) x x))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 170)
-  (parent 93)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)) ((5 1) (4 0))
-    ((6 0) (0 1)) ((6 0) (4 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) x-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) x-0))))
-    ((recv h) (send (exp (gen) y-0))) ((send (exp (gen) x-0))))
-  (label 171)
-  (parent 93)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y-0))
-  (deflistener (exp (gen) y-0))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0))
-    ((5 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 (gen)) (y h))
-  (pen-non-orig x y-0)
-  (precur (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (gen)) (send (exp (gen) y-0)) (recv (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 172)
-  (parent 93)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y-0) x))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 5 resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y-0) x)) (send (cat (exp (gen) y-0) x)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 173)
-  (parent 93)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (y x y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-1)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((6 1) (4 0)))
-  (absent (y-1 h-0) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-1))
-      (send (enc n (exp (gen) (mul x y-1)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x y-1))) (send (exp (gen) (mul x y-1))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) y-1)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 174)
-  (parent 93)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w y-0 (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w y-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w y-0)))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) w y-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) w y-0 (rec w-0))) w-0))))
-  (label 175)
-  (parent 93)
-  (unrealized (6 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul x w)) (y-0 y) (w-1 (mul w y)) (y-1 y)
-      (w (mul w y))) (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 176)
-  (parent 95)
-  (unrealized (2 0) (3 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (exp (gen) (mul w x x y)))
-  (deflistener (cat (exp (gen) y) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul w x x))))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x y))) (send (exp (gen) (mul w x x y))))
-    ((recv (cat (exp (gen) y) (mul w x x)))
-      (send (cat (exp (gen) y) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))))
-  (label 177)
-  (parent 95)
-  (unrealized (0 1) (1 0) (2 0) (3 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (exp (gen) (mul x w x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (1 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0 y)))
-      (send (exp (gen) (mul x w x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w x-0)))
-      (send (cat (exp (gen) y) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0))))
-  (label 178)
-  (parent 95)
-  (unrealized (0 1) (1 0) (2 0) (3 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 179)
-  (parent 95)
-  (unrealized (2 0) (3 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (1 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y y-0)))
-      (send (exp (gen) (mul x w y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w y)))
-      (send (cat (exp (gen) y-0) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 180)
-  (parent 95)
-  (unrealized (0 1) (1 0) (2 0) (3 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) (mul (rec x) (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) (rec w-0))) w-0))
-    (exp (gen) (rec x)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) (mul (rec x) (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) (rec w-0))) w-0))))
-  (label 181)
-  (parent 96)
-  (unrealized (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x))))
-  (label 182)
-  (parent 97)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) x-0 (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) x-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) x-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) x-0 (rec w-0))) w-0))))
-  (label 183)
-  (parent 98)
-  (unrealized (6 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) (mul (rec x) y (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) (mul (rec x) y (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y (rec w-0))) w-0))))
-  (label 184)
-  (parent 99)
-  (unrealized (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y-0 (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y-0 (rec w-0))) w-0))))
-  (label 185)
-  (parent 100)
-  (unrealized (6 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (hy (exp (gen) (mul (rec x) w-0))))
-    (gen) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0)))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))))
-  (label 186)
-  (parent 101)
-  (unrealized (0 1))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 187)
-  (parent 101)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 x-0)))
-      (send (enc n (exp (gen) (mul w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x-0))) (send (exp (gen) (mul w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((send (exp (gen) x-0))))
-  (label 188)
-  (parent 101)
-  (unrealized (0 1))
-  (comment "7 in cohort - 7 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 y)))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0))))
-  (label 189)
-  (parent 101)
-  (unrealized (0 1))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y expn) (w-0 expr)
-    (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 y-0)))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 190)
-  (parent 101)
-  (unrealized (0 1))
-  (comment "7 in cohort - 7 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 191)
-  (parent 105)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (x w) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))) ((recv x) (send x)))
-  (label 192)
-  (parent 106)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (4 0))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x-0 (mul (rec x) w)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y (rec x-0))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w (rec x-0))))
-      (send (cat (exp (gen) y) (mul w (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 193)
-  (parent 114)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x-0 (mul x w)) (y (exp (gen) (mul x w x-0))))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y x-0)))
-      (send (enc n (exp (gen) (mul x w y x-0)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y x-0)))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w x-0)))
-      (send (cat (exp (gen) y) (mul w x-0)))) ((recv x-0) (send x-0)))
-  (label 194)
-  (parent 115)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (4 0))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x (mul (rec y) w)) (y-0 (exp (gen) w)) (y h))
-  (pen-non-orig y-0 x)
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x))))) ((recv x) (send x)))
-  (label 195)
-  (parent 121)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 (mul x w)) (y (exp (gen) (mul x w y-0))) (y-0 h))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) y-0) (mul x w)))
-      (send (cat (exp (gen) y-0) (mul x w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))) ((recv y-0) (send y-0)))
-  (label 196)
-  (parent 122)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (gen) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (4 0))
-  (operation nonce-test (added-listener x) (rec x) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x))))
-    ((recv x) (send x)))
-  (label 197)
-  (parent 126)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul (rec x) (rec x)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 198)
-  (parent 127)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 0) (3 0)) ((4 0) (5 0))
-    ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (rec x)))
-      (send (cat (exp (gen) x-0) (rec x)))) ((recv x) (send x)))
-  (label 199)
-  (parent 134)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (3 0)) ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 200)
-  (parent 141)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((4 1) (5 0))
-    ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))) ((recv x) (send x)))
-  (label 201)
-  (parent 147)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x x) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x))))
-    ((recv x) (send x)))
-  (label 202)
-  (parent 150)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (5 0) (4 0))
-  (operation nonce-test (contracted (x-0 x) (w-0 (mul x w)) (w-1 w))
-    (gen) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 203)
-  (parent 154)
-  (unrealized (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x x)))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x)))
-      (send (enc n (exp (gen) (mul w x x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) (mul w x x))))
-    ((recv (cat (gen) (mul w x x))) (send (cat (gen) (mul w x x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 204)
-  (parent 154)
-  (unrealized (3 0) (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 0) (4 0)) ((6 0) (5 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (gen) (mul x w x-0))) (send (cat (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 205)
-  (parent 154)
-  (unrealized (3 0) (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (gen) (mul x w y))) (send (cat (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 206)
-  (parent 154)
-  (unrealized (3 0) (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-0)))
-  (deflistener (cat (gen) (mul x w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (4 0)) ((6 1) (5 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) (mul x w y-0))))
-    ((recv (cat (gen) (mul x w y-0))) (send (cat (gen) (mul x w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 207)
-  (parent 154)
-  (unrealized (3 0) (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((2 1) (1 2)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 208)
-  (parent 155)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w-0 (mul x (rec x-0) w)) (x-2 x-0) (w-1 w))
-    (gen) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 209)
-  (parent 162)
-  (unrealized (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) w))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul w x-0 x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x-0 x-0)))
-      (send (exp (gen) (mul w x-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w))))
-  (label 210)
-  (parent 162)
-  (unrealized (3 0) (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) w))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 5 init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w))))
-  (label 211)
-  (parent 162)
-  (unrealized (3 0) (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn) (w expr) (x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-1))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) w))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-1)))
-      (send (enc n (exp (gen) (mul x w x-1)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-1))) (send (exp (gen) (mul x w x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w x-1))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) w)) (send (cat (exp (gen) x-1) w)))
-    ((send (exp (gen) x-1))))
-  (label 212)
-  (parent 162)
-  (unrealized (3 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 0) (4 0)) ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (4 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 213)
-  (parent 162)
-  (unrealized (3 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x x-0 expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) (mul x w y-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w y-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w y-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 214)
-  (parent 162)
-  (unrealized (3 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul x (rec y) w)) (y-0 y) (w-1 w)) (gen)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 215)
-  (parent 168)
-  (unrealized (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x)))
-      (send (enc n (exp (gen) (mul w x x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) (mul w x x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 216)
-  (parent 168)
-  (unrealized (3 0) (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 0) (4 0)) ((6 0) (5 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w x-0))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 217)
-  (parent 168)
-  (unrealized (3 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 218)
-  (parent 168)
-  (unrealized (3 0) (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (4 0)) ((6 1) (5 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) (mul x w y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 219)
-  (parent 168)
-  (unrealized (3 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul x (rec y-0) w)) (y-1 y-0) (w-1 w))
-    (gen) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 220)
-  (parent 175)
-  (unrealized (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x)))
-      (send (enc n (exp (gen) (mul w x x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) (mul w x x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w x x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w x x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 221)
-  (parent 175)
-  (unrealized (3 0) (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w x-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w x-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 222)
-  (parent 175)
-  (unrealized (3 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y-0))
-  (deflistener (exp (gen) y-0))
-  (deflistener (exp (gen) (mul x w y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (4 0)) ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 (gen)) (y h))
-  (pen-non-orig x y-0)
-  (precur (6 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (gen)) (send (exp (gen) y-0)) (recv (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) (mul x w y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w))))
-  (label 223)
-  (parent 175)
-  (unrealized (3 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) w))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 5 resp 2) (exp (gen) y-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) (mul x w y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w)))
-      (send (cat (exp (gen) y-0) (mul x w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w))))
-  (label 224)
-  (parent 175)
-  (unrealized (3 0) (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (y x y-0 expn) (w expr) (y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-1))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) w))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0)))
-  (absent (y-1 h-0) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-1)))
-      (send (enc n (exp (gen) (mul x w y-1)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-1))) (send (exp (gen) (mul x w y-1))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w y-1)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) w)) (send (cat (exp (gen) y-1) w)))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 225)
-  (parent 175)
-  (unrealized (3 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (5 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 226)
-  (parent 176)
-  (unrealized (2 0) (3 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (exp (gen) (mul w x x y)))
-  (deflistener (cat (exp (gen) y) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (5 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul w x x))))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x y))) (send (exp (gen) (mul w x x y))))
-    ((recv (cat (exp (gen) y) (mul w x x)))
-      (send (cat (exp (gen) y) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((recv y) (send y)))
-  (label 227)
-  (parent 177)
-  (unrealized (1 0) (2 0) (3 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (exp (gen) (mul x w x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (6 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (1 0))
-    ((6 1) (4 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0 y)))
-      (send (exp (gen) (mul x w x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w x-0)))
-      (send (cat (exp (gen) y) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0)))
-    ((recv y) (send y)))
-  (label 228)
-  (parent 178)
-  (unrealized (1 0) (2 0) (3 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (one) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 229)
-  (parent 179)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (x w) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (4 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w) w (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))))
-  (label 230)
-  (parent 179)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1))
-    ((5 1) (3 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv x) (send x)))
-  (label 231)
-  (parent 179)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (6 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (1 0))
-    ((6 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (pen-non-orig x y-0)
-  (precur (4 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y y-0)))
-      (send (exp (gen) (mul x w y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w y)))
-      (send (cat (exp (gen) y-0) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 232)
-  (parent 180)
-  (unrealized (1 0) (2 0) (3 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (rec x)))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w-0 (rec x))) (gen) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x)))))
-  (label 233)
-  (parent 181)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x))))))
-  (label 234)
-  (parent 181)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 235)
-  (parent 181)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) y) (mul (rec x) (rec y))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) y) (mul (rec x) (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) (rec y))))))
-  (label 236)
-  (parent 181)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 237)
-  (parent 181)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) x))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((2 1) (1 2)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) x)) (send (exp (gen) x))))
-  (label 238)
-  (parent 182)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) x-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w-0 (mul (rec x) x-0))) (gen) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul (rec x) x-0)))
-      (send (cat (gen) (mul (rec x) x-0)))))
-  (label 239)
-  (parent 183)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))))
-  (label 240)
-  (parent 183)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (rec x)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 5 init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (rec x)))
-      (send (cat (exp (gen) x-0) (rec x)))))
-  (label 241)
-  (parent 183)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 0) (6 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 242)
-  (parent 183)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 0) (4 0)) ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))))
-  (label 243)
-  (parent 183)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 244)
-  (parent 183)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-0 y) (w-0 (mul (rec x) y))) (gen) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul (rec x) y)))
-      (send (cat (gen) (mul (rec x) y)))))
-  (label 245)
-  (parent 184)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul y (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x) (rec x))))))
-  (label 246)
-  (parent 184)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)) ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 247)
-  (parent 184)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 248)
-  (parent 184)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 249)
-  (parent 184)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul (rec x) y-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w-0 (mul (rec x) y-0))) (gen) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul (rec x) y-0)))
-      (send (cat (gen) (mul (rec x) y-0)))))
-  (label 250)
-  (parent 185)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))))
-  (label 251)
-  (parent 185)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 0) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 252)
-  (parent 185)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)) ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 (exp (gen) w)) (y h))
-  (pen-non-orig x y-0)
-  (precur (6 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))))
-  (label 253)
-  (parent 185)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 5 resp 2) (exp (gen) y-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))))
-  (label 254)
-  (parent 185)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 255)
-  (parent 185)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w-0 x)) (gen) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (gen) x)) (send (cat (gen) x))))
-  (label 256)
-  (parent 186)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x)))))
-  (label 257)
-  (parent 186)
-  (unrealized (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))))
-  (label 258)
-  (parent 186)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))))
-  (label 259)
-  (parent 186)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (gen) (mul x y-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (gen) (mul x y-0))) (send (cat (gen) (mul x y-0))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 260)
-  (parent 186)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 w-1 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w-0 (rec w-1))) w-1))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w-0 (rec w-1))) w-1))
-    (exp (gen) (mul (rec x) w-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0)))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0)))
-    ((recv (cat (exp (gen) (mul (rec x) w-0 (rec w-1))) w-1))
-      (send (cat (exp (gen) (mul (rec x) w-0 (rec w-1))) w-1))))
-  (label 261)
-  (parent 186)
-  (unrealized (6 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 262)
-  (parent 187)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w-0 (mul x (rec x-0))) (x-2 x-0)) (gen) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 263)
-  (parent 188)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-0)))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x-0 x-0))) (send (exp (gen) (mul x-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) x-0 x-0))))
-    ((send (exp (gen) x))))
-  (label 264)
-  (parent 188)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 6 init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))))
-  (label 265)
-  (parent 188)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-1)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand init 1 (x x-0))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)) ((7 0) (0 1)) ((7 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-1))
-      (send (enc n (exp (gen) (mul x x-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1))))
-    ((send (exp (gen) x-0))) ((send (exp (gen) x-1))))
-  (label 266)
-  (parent 188)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)) ((6 0) (0 1)) ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) y))))
-    ((send (exp (gen) x-0))))
-  (label 267)
-  (parent 188)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y-0)))
-  (defstrand init 1 (x x-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)) ((7 1) (0 1)) ((7 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) y-0))))
-    ((send (exp (gen) x-0))) ((recv h) (send (exp (gen) y-0))))
-  (label 268)
-  (parent 188)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr) (x-0 expn)
-    (w-1 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w-0 x-0 (rec w-1))) w-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) w-0 x-0 (rec w-1))) w-1))
-    (exp (gen) (mul (rec x) w-0 x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 x-0)))
-      (send (enc n (exp (gen) (mul w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x-0))) (send (exp (gen) (mul w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) w-0 x-0 (rec w-1))) w-1))
-      (send (cat (exp (gen) (mul (rec x) w-0 x-0 (rec w-1))) w-1))))
-  (label 269)
-  (parent 188)
-  (unrealized (7 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul x (rec y))) (y-0 y)) (gen) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y))))))
-  (label 270)
-  (parent 189)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x)))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) x x)))
-      (send (cat (exp (gen) y) (mul (rec y) x x)))))
-  (label 271)
-  (parent 189)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)) ((6 0) (0 1)) ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) x-0))))
-    ((send (exp (gen) x-0))))
-  (label 272)
-  (parent 189)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 273)
-  (parent 189)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)) ((6 1) (0 1)) ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) y-0))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 274)
-  (parent 189)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w w-0 expr) (y expn) (w-1 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w-0 y (rec w-1))) w-1))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w-0 y (rec w-1))) w-1))
-    (exp (gen) (mul (rec x) w-0 y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 y)))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0)))
-    ((recv (cat (exp (gen) (mul (rec x) w-0 y (rec w-1))) w-1))
-      (send (cat (exp (gen) (mul (rec x) w-0 y (rec w-1))) w-1))))
-  (label 275)
-  (parent 189)
-  (unrealized (6 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul x (rec y-0))) (y-1 y-0)) (gen) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 276)
-  (parent 190)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) x x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) x x))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 277)
-  (parent 190)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)) ((7 0) (0 1)) ((7 0) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) x-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) x-0))))
-    ((recv h) (send (exp (gen) y-0))) ((send (exp (gen) x-0))))
-  (label 278)
-  (parent 190)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)) ((6 1) (0 1)) ((6 1) (5 0)))
-  (absent (y-0 (exp (gen) w)) (y h))
-  (pen-non-orig x y-0)
-  (precur (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 279)
-  (parent 190)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y-0) x))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 6 resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y-0) x)) (send (cat (exp (gen) y-0) x)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 280)
-  (parent 190)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-1)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)) ((7 1) (0 1)) ((7 1) (5 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-1))
-      (send (enc n (exp (gen) (mul x y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y-1))) (send (exp (gen) (mul x y-1))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) y-1)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 281)
-  (parent 190)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y expn) (w-0 expr)
-    (y-0 expn) (w-1 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w-0 y-0 (rec w-1))) w-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) w-0 y-0 (rec w-1))) w-1))
-    (exp (gen) (mul (rec x) w-0 y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 y-0)))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) w-0 y-0 (rec w-1))) w-1))
-      (send (cat (exp (gen) (mul (rec x) w-0 y-0 (rec w-1))) w-1))))
-  (label 282)
-  (parent 190)
-  (unrealized (7 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (gen) (rec x)))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (5 0) (4 0))
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x)))))
-  (label 283)
-  (parent 203)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (x w) (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (5 0) (4 0))
-  (operation nonce-test (added-absence x w) w (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (gen) (mul w (rec x))))
-      (send (cat (gen) (mul w (rec x))))))
-  (label 284)
-  (parent 203)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) w))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (5 0) (4 0))
-  (operation nonce-test (added-listener x) (mul x w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (gen) w)) (send (cat (gen) w))) ((recv x) (send x)))
-  (label 285)
-  (parent 203)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (w (mul (rec x) (rec x))) (x-0 x))
-    (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x))))))
-  (label 286)
-  (parent 204)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (x w) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w) w (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) x) (mul w (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w (rec x) (rec x))))))
-  (label 287)
-  (parent 204)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x x)))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) w))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w x x) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x)))
-      (send (enc n (exp (gen) (mul w x x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) (mul w x x))))
-    ((recv (cat (gen) (mul w x x))) (send (cat (gen) (mul w x x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))
-    ((recv x) (send x)))
-  (label 288)
-  (parent 204)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 0) (4 0)) ((6 0) (5 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w (mul (rec x) (rec x-0))) (x-2 x-0)) (one)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 289)
-  (parent 205)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 0) (4 0)) ((6 0) (5 0)))
-  (absent (x-0 (mul w x)) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (5 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul w x)) (mul w x) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (gen) (mul w x))) (send (cat (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((send (exp (gen) x))))
-  (label 290)
-  (parent 205)
-  (unrealized (0 1) (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 0) (4 0)) ((6 0) (5 0)))
-  (absent (x-0 (mul x w)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w)) (mul x w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 291)
-  (parent 205)
-  (unrealized (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y) (mul (rec x) (rec y))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w (mul (rec x) (rec y))) (y-0 y)) (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) y) (mul (rec x) (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) (rec y))))))
-  (label 292)
-  (parent 206)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (x (mul w y)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul w y)) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))))
-  (label 293)
-  (parent 206)
-  (unrealized (0 1) (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (mul x w)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w)) (mul x w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul w (rec y))))
-      (send (cat (exp (gen) y) (mul w (rec y))))))
-  (label 294)
-  (parent 206)
-  (unrealized (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (4 0)) ((6 1) (5 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w (mul (rec x) (rec y-0))) (y-1 y-0)) (one)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 295)
-  (parent 207)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (4 0)) ((6 1) (5 0)))
-  (absent (x (mul w y-0)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul w y-0)) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (gen) (mul w y-0))) (send (cat (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 296)
-  (parent 207)
-  (unrealized (0 1) (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (4 0)) ((6 1) (5 0)))
-  (absent (y-0 (mul x w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w)) (mul x w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y-0) (mul w (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 297)
-  (parent 207)
-  (unrealized (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (precedes ((0 2) (1 2)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))))
-  (label 298)
-  (parent 208)
-  (unrealized)
-  (shape)
-  (maps ((0 1) ((n n) (hx (gen)) (hy (exp (gen) w)) (x x) (y y))))
-  (origs (n (0 2))))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) x-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0))) (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul (rec x) x-0)))
-      (send (cat (gen) (mul (rec x) x-0)))))
-  (label 299)
-  (parent 209)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (gen) (mul w (rec x-0))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (x-0 (mul (rec x) w)) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w))
-    (mul (rec x) w) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w (rec x-0))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (gen) (mul w (rec x-0))))
-      (send (cat (gen) (mul w (rec x-0))))))
-  (label 300)
-  (parent 209)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w x-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (x-0 (mul x w)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w)) (mul x w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w x-0))) (send (cat (gen) (mul w x-0)))))
-  (label 301)
-  (parent 209)
-  (unrealized (3 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w (mul x (rec x-0) (rec x-0))) (x-2 x-0)) (one)
-    (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))))
-  (label 302)
-  (parent 210)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x x x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w x x)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x) (mul w x-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (x-0 (mul w x x)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul w x x)) (mul w x x)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x x-0)))
-      (send (enc n (exp (gen) (mul w x x x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x x x-0)))
-      (send (exp (gen) (mul w x x x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w x x)))
-      (send (cat (exp (gen) x-0) (mul w x x)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x) (mul w x-0)))
-      (send (cat (exp (gen) x) (mul w x-0)))))
-  (label 303)
-  (parent 210)
-  (unrealized (0 1) (3 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (x-0 (mul (rec x) w)) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w))
-    (mul (rec x) w) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w (rec x-0))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))))
-  (label 304)
-  (parent 210)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (rec x-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-1 x-0) (w (rec x-0))) (one)
-    (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (rec x-0)))
-      (send (cat (exp (gen) x) (rec x-0)))))
-  (label 305)
-  (parent 211)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (x-0 w) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 w) w (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0))))))
-  (label 306)
-  (parent 211)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) w))
-  (deflistener x)
-  (precedes ((0 0) (6 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((recv x) (send x)))
-  (label 307)
-  (parent 211)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-2 x) (x-3 x-0) (w (mul (rec x) x-0 (rec x-1)))
-      (x-4 x-1)) (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 308)
-  (parent 212)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 (rec x-1)))) (x x-1))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-1))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0)))
-  (absent (x-1 (mul (rec x) w x-0)) (y (gen)))
-  (pen-non-orig y x-1)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-1 (mul (rec x) w x-0))
-    (mul (rec x) w x-0) (4 0))
-  (traces
-    ((send (exp (gen) x-1)) (recv (exp (gen) (mul w x-0 (rec x-1))))
-      (send (enc n (exp (gen) (mul w x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-1))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-1)))))
-    ((send (exp (gen) x-0))))
-  (label 309)
-  (parent 212)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 x-1))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) (mul x w x-0)))
-  (defstrand init 1 (x x-1))
-  (deflistener (cat (exp (gen) x-0) (mul w x-1)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0)))
-  (absent (x-1 (mul x w x-0)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-1 (mul x w x-0)) (mul x w x-0)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 x-1)))
-      (send (enc n (exp (gen) (mul x w x-0 x-1)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0 x-1)))
-      (send (exp (gen) (mul x w x-0 x-1))))
-    ((recv (cat (exp (gen) x-1) (mul x w x-0)))
-      (send (cat (exp (gen) x-1) (mul x w x-0))))
-    ((send (exp (gen) x-1)))
-    ((recv (cat (exp (gen) x-0) (mul w x-1)))
-      (send (cat (exp (gen) x-0) (mul w x-1))))
-    ((send (exp (gen) x-0))))
-  (label 310)
-  (parent 212)
-  (unrealized (0 1) (3 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn) (w expr) (x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0)))
-  (absent (x-1 (mul x (rec x-0) w)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-1 (mul x (rec x-0) w))
-    (mul x (rec x-0) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul w (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 311)
-  (parent 212)
-  (unrealized (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 0) (4 0)) ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (4 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0 (rec y))) (y-0 y))
-    (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))))
-  (label 312)
-  (parent 213)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w y)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 0) (4 0)) ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (x-0 (mul (rec x) w y)) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w y))
-    (mul (rec x) w y) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y (rec x-0))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w y)))
-      (send (cat (exp (gen) x) (mul (rec x) w y))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w (rec x-0))))
-      (send (cat (exp (gen) y) (mul w (rec x-0))))))
-  (label 313)
-  (parent 213)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 0) (4 0)) ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (x-0 (mul x w y)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w y)) (mul x w y)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y x-0)))
-      (send (enc n (exp (gen) (mul x w y x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y x-0)))
-      (send (exp (gen) (mul x w y x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w y)))
-      (send (cat (exp (gen) x-0) (mul x w y)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w x-0)))
-      (send (cat (exp (gen) y) (mul w x-0)))))
-  (label 314)
-  (parent 213)
-  (unrealized (0 1) (3 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 0) (4 0)) ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (mul x (rec x-0) w)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (4 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x (rec x-0) w))
-    (mul x (rec x-0) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w (rec y))))
-      (send (cat (exp (gen) y) (mul w (rec y))))))
-  (label 315)
-  (parent 213)
-  (unrealized (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0 (rec y-0)))
-      (y-1 y-0)) (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 316)
-  (parent 214)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w y-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0)))
-  (absent (x-0 (mul (rec x) w y-0)) (y-0 h) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w y-0))
-    (mul (rec x) w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y-0 (rec x-0))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w y-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w y-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec x-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 317)
-  (parent 214)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0)))
-  (absent (x-0 (mul x w y-0)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w y-0)) (mul x w y-0)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 x-0)))
-      (send (enc n (exp (gen) (mul x w y-0 x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-0 x-0)))
-      (send (exp (gen) (mul x w y-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w y-0)))
-      (send (cat (exp (gen) x-0) (mul x w y-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w x-0)))
-      (send (cat (exp (gen) y-0) (mul w x-0))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 318)
-  (parent 214)
-  (unrealized (0 1) (3 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x x-0 expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0)))
-  (absent (y-0 (mul x (rec x-0) w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x (rec x-0) w))
-    (mul x (rec x-0) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 319)
-  (parent 214)
-  (unrealized (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul (rec x) y)))
-    (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (gen) (mul (rec x) y)))
-      (send (cat (gen) (mul (rec x) y)))))
-  (label 320)
-  (parent 215)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (x (mul (rec y) w)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w))
-    (mul (rec y) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv (cat (gen) (mul w (rec x))))
-      (send (cat (gen) (mul w (rec x))))))
-  (label 321)
-  (parent 215)
-  (unrealized (0 1) (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (mul x w)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w)) (mul x w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 322)
-  (parent 215)
-  (unrealized (3 0) (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (y-0 y) (w (mul y (rec x) (rec x))) (x-0 x)) (one)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) x) (mul y (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x) (rec x))))))
-  (label 323)
-  (parent 216)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x x y)))
-  (deflistener (cat (exp (gen) y) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (mul w x x)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul w x x)) (mul w x x) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x x y))) (send (exp (gen) (mul w x x y))))
-    ((recv (cat (exp (gen) y) (mul w x x)))
-      (send (cat (exp (gen) y) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))))
-  (label 324)
-  (parent 216)
-  (unrealized (0 1) (3 0) (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (x (mul (rec y) w)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w))
-    (mul (rec y) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv (cat (exp (gen) x) (mul w (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w (rec x) (rec x))))))
-  (label 325)
-  (parent 216)
-  (unrealized (0 1) (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 0) (4 0)) ((6 0) (5 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (w (mul (rec x) y (rec x-0))) (x-2 x-0))
-    (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 326)
-  (parent 217)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x)))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 0) (4 0)) ((6 0) (5 0)))
-  (absent (x-0 (mul (rec y) w x)) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (5 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec y) w x))
-    (mul (rec y) w x) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x))))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((send (exp (gen) x))))
-  (label 327)
-  (parent 217)
-  (unrealized (0 1) (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 0) (4 0)) ((6 0) (5 0)))
-  (absent (y (mul x w x-0)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w x-0)) (mul x w x-0)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0 y)))
-      (send (exp (gen) (mul x w x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w x-0)))
-      (send (cat (exp (gen) y) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0))))
-  (label 328)
-  (parent 217)
-  (unrealized (0 1) (3 0) (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 0) (4 0)) ((6 0) (5 0)))
-  (absent (x-0 (mul x (rec y) w)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x (rec y) w))
-    (mul x (rec y) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 329)
-  (parent 217)
-  (unrealized (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 330)
-  (parent 218)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)))
-  (absent (x w) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w) w (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))))
-  (label 331)
-  (parent 218)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv x) (send x)))
-  (label 332)
-  (parent 218)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (4 0)) ((6 1) (5 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (w (mul (rec x) y (rec y-0))) (y-2 y-0))
-    (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 333)
-  (parent 219)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (4 0)) ((6 1) (5 0)))
-  (absent (x (mul (rec y) w y-0)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w y-0))
-    (mul (rec y) w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 334)
-  (parent 219)
-  (unrealized (0 1) (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y-0))
-  (deflistener (exp (gen) y-0))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (4 0)) ((6 1) (5 0)))
-  (absent (y-0 (mul x w y)) (y h) (y-0 (gen)))
-  (pen-non-orig x y-0)
-  (precur (5 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w y)) (mul x w y)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (gen)) (send (exp (gen) y-0)) (recv (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (exp (gen) (mul x w y y-0)))
-      (send (exp (gen) (mul x w y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w y)))
-      (send (cat (exp (gen) y-0) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 335)
-  (parent 219)
-  (unrealized (0 1) (3 0) (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (4 0)) ((6 1) (5 0)))
-  (absent (y-0 (mul x (rec y) w)) (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x (rec y) w))
-    (mul x (rec y) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv (cat (exp (gen) y-0) (mul w (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 336)
-  (parent 219)
-  (unrealized (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul (rec x) y-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w (mul (rec x) y-0))) (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul (rec x) y-0)))
-      (send (cat (gen) (mul (rec x) y-0)))))
-  (label 337)
-  (parent 220)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (x (mul (rec y-0) w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y-0) w))
-    (mul (rec y-0) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w (rec x))))
-      (send (cat (gen) (mul w (rec x))))))
-  (label 338)
-  (parent 220)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w y-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 (mul x w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w)) (mul x w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) (mul x w y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w)))
-      (send (cat (exp (gen) y-0) (mul x w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w y-0))) (send (cat (gen) (mul w y-0)))))
-  (label 339)
-  (parent 220)
-  (unrealized (3 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (y-1 y-0) (w (mul y-0 (rec x) (rec x))) (x-0 x)) (one)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))))
-  (label 340)
-  (parent 221)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x x y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w y-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 (mul w x x)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul w x x)) (mul w x x)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y-0)))
-      (send (enc n (exp (gen) (mul w x x y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x x y-0)))
-      (send (exp (gen) (mul w x x y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w x x)))
-      (send (cat (exp (gen) y-0) (mul w x x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w y-0)))
-      (send (cat (exp (gen) x) (mul w y-0)))))
-  (label 341)
-  (parent 221)
-  (unrealized (0 1) (3 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (x (mul (rec y-0) w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y-0) w))
-    (mul (rec y-0) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w (rec x) (rec x))))))
-  (label 342)
-  (parent 221)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-1 y-0) (w (mul (rec x) y-0 (rec x-0)))
-      (x-2 x-0)) (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 343)
-  (parent 222)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 expn) (w expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0)))
-  (absent (x-0 (mul (rec y-0) w x)) (y-0 h) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec y-0) w x))
-    (mul (rec y-0) w x) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((send (exp (gen) x))))
-  (label 344)
-  (parent 222)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w y-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0)))
-  (absent (y-0 (mul x w x-0)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w x-0)) (mul x w x-0)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w x-0 y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0 y-0)))
-      (send (exp (gen) (mul x w x-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w x-0)))
-      (send (cat (exp (gen) y-0) (mul x w x-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w y-0)))
-      (send (cat (exp (gen) x-0) (mul w y-0))))
-    ((send (exp (gen) x-0))))
-  (label 345)
-  (parent 222)
-  (unrealized (0 1) (3 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0)))
-  (absent (x-0 (mul x (rec y-0) w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x (rec y-0) w))
-    (mul x (rec y-0) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 346)
-  (parent 222)
-  (unrealized (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y-0))
-  (deflistener (exp (gen) y-0))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (4 0)) ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 (gen)) (y h))
-  (pen-non-orig x y-0)
-  (precur (6 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (w (mul (rec x) y (rec y-0))) (y-2 y-0))
-    (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y-0)) (recv (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))))
-  (label 347)
-  (parent 223)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y-0))
-  (deflistener (exp (gen) y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (4 0)) ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (x (mul (rec y) w y-0)) (y-0 (gen)) (y h))
-  (pen-non-orig y-0 x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w y-0))
-    (mul (rec y) w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y-0)) (recv (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x))))))
-  (label 348)
-  (parent 223)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (4 0)) ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 (mul x w y)) (y (gen)) (y-0 h))
-  (pen-non-orig x y)
-  (precur (6 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w y)) (mul x w y)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y y-0)))
-      (send (exp (gen) (mul x w y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w y)))
-      (send (cat (exp (gen) y-0) (mul x w y))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))))
-  (label 349)
-  (parent 223)
-  (unrealized (0 1) (3 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y-0))
-  (deflistener (exp (gen) y-0))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (4 0)) ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 (mul x (rec y) w)) (y-0 (gen)) (y h))
-  (pen-non-orig x y-0)
-  (precur (6 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x (rec y) w))
-    (mul x (rec y) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y-0)) (recv (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec y-0))))))
-  (label 350)
-  (parent 223)
-  (unrealized (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))))
-  (label 351)
-  (parent 224)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (x w) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w) w (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x))))))
-  (label 352)
-  (parent 224)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener x)
-  (precedes ((0 0) (6 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) (mul x w y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w)))
-      (send (cat (exp (gen) y-0) (mul x w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv x) (send x)))
-  (label 353)
-  (parent 224)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (y x y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0)))
-  (absent (y-1 h-0) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-2 y-0) (w (mul (rec x) y-0 (rec y-1)))
-      (y-3 y-1)) (one) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 354)
-  (parent 225)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (y y-0 expn) (w expr) (y-1 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-1 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w (rec x))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0)))
-  (absent (x (mul (rec y-0) w y-1)) (y-1 h-0) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 y-1 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y-0) w y-1))
-    (mul (rec y-0) w y-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-1 (rec x))))
-      (send (enc n (exp (gen) (mul w y-1)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-1))) (send (exp (gen) (mul w y-1))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w y-1)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w (rec x))))
-      (send (cat (exp (gen) y-1) (mul w (rec x)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 355)
-  (parent 225)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (y x expn) (w expr) (y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-0 y-1)))
-  (deflistener (cat (exp (gen) y-1) (mul x w y-0)))
-  (defstrand resp 2 (h h) (y y-1))
-  (deflistener (cat (exp (gen) y-0) (mul w y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0)))
-  (absent (y-1 (mul x w y-0)) (y-0 h-0) (y-1 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-1 (mul x w y-0)) (mul x w y-0)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w y-0 y-1)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-0 y-1)))
-      (send (exp (gen) (mul x w y-0 y-1))))
-    ((recv (cat (exp (gen) y-1) (mul x w y-0)))
-      (send (cat (exp (gen) y-1) (mul x w y-0))))
-    ((recv h) (send (exp (gen) y-1)))
-    ((recv (cat (exp (gen) y-0) (mul w y-1)))
-      (send (cat (exp (gen) y-0) (mul w y-1))))
-    ((recv h-0) (send (exp (gen) y-0))))
-  (label 356)
-  (parent 225)
-  (unrealized (0 1) (3 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (y x y-0 expn) (w expr) (y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0)))
-  (absent (y-1 (mul x (rec y-0) w)) (y-1 h-0) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-1 (mul x (rec y-0) w))
-    (mul x (rec y-0) w) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul w (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 357)
-  (parent 225)
-  (unrealized (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1))
-    ((5 1) (4 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (4 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 358)
-  (parent 229)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1))
-    ((5 1) (4 0)))
-  (absent (x w) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (4 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))) ((recv x) (send x)))
-  (label 359)
-  (parent 230)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x))))
-    ((recv x) (send x)))
-  (label 360)
-  (parent 233)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul (rec x) (rec x)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 361)
-  (parent 234)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (gen)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (precedes ((0 2) (1 2)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y))))))
-  (label 362)
-  (parent 238)
-  (unrealized)
-  (shape)
-  (maps ((0 1) ((n n) (hx (exp (gen) w)) (hy (gen)) (x x) (y y))))
-  (origs (n (0 2))))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (rec x)))
-      (send (cat (exp (gen) x-0) (rec x)))) ((recv x) (send x)))
-  (label 363)
-  (parent 241)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 364)
-  (parent 248)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))) ((recv x) (send x)))
-  (label 365)
-  (parent 254)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (deflistener x)
-  (precedes ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x))))
-    ((recv x) (send x)))
-  (label 366)
-  (parent 257)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (gen) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w-1 (mul x w-0)) (w-2 w-0))
-    (gen) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))))
-  (label 367)
-  (parent 261)
-  (unrealized (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x)))
-  (deflistener (cat (gen) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x)))
-      (send (enc n (exp (gen) (mul w-0 x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x))) (send (exp (gen) (mul w-0 x x))))
-    ((recv (cat (gen) (mul w-0 x x))) (send (cat (gen) (mul w-0 x x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 368)
-  (parent 261)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (6 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (gen) (mul x w-0 x-0)))
-      (send (cat (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((send (exp (gen) x-0))))
-  (label 369)
-  (parent 261)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (gen) (mul x w-0 y))) (send (cat (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0))))
-  (label 370)
-  (parent 261)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (gen) (mul x w-0 y-0)))
-      (send (cat (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 371)
-  (parent 261)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 372)
-  (parent 262)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w-1 (mul x (rec x-0) w-0)) (x-2 x-0) (w-2 w-0))
-    (gen) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))))
-  (label 373)
-  (parent 269)
-  (unrealized (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 0 init 1) (exp (gen) x-1) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul w-0 x-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x-0 x-0)))
-      (send (exp (gen) (mul w-0 x-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 x-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0))))
-  (label 374)
-  (parent 269)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 6 init 1) (exp (gen) x-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0))))
-  (label 375)
-  (parent 269)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn) (w-0 expr) (x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0 x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) w-0))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-1)))
-      (send (enc n (exp (gen) (mul x w-0 x-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-1)))
-      (send (exp (gen) (mul x w-0 x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0 x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0 x-1))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) w-0)) (send (cat (exp (gen) x-1) w-0)))
-    ((send (exp (gen) x-1))))
-  (label 376)
-  (parent 269)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 1 resp 2) (exp (gen) y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0))))
-  (label 377)
-  (parent 269)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 378)
-  (parent 269)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (deflistener (cat (gen) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-1 (mul x (rec y) w-0)) (y-0 y) (w-2 w-0))
-    (gen) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))))
-  (label 379)
-  (parent 275)
-  (unrealized (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 x x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x)))
-      (send (enc n (exp (gen) (mul w-0 x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x))) (send (exp (gen) (mul w-0 x x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 x x)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 x x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 380)
-  (parent 275)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0 x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((send (exp (gen) x-0))))
-  (label 381)
-  (parent 275)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0)))
-      (send (cat (exp (gen) y) (mul x w-0))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0))))
-  (label 382)
-  (parent 275)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 383)
-  (parent 275)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-1 (mul x (rec y-0) w-0)) (y-1 y-0) (w-2 w-0))
-    (gen) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))))
-  (label 384)
-  (parent 282)
-  (unrealized (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0 x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 0 init 1) (exp (gen) x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x)))
-      (send (enc n (exp (gen) (mul w-0 x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x))) (send (exp (gen) (mul w-0 x x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0 x x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0 x x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 385)
-  (parent 282)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0 x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0 x-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0 x-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((send (exp (gen) x-0))))
-  (label 386)
-  (parent 282)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0 y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)))
-  (absent (y-0 (exp (gen) w)) (y h))
-  (pen-non-orig x y-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 1 resp 2) (exp (gen) y-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0 y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0))))
-  (label 387)
-  (parent 282)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 6 resp 2) (exp (gen) y-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0))))
-  (label 388)
-  (parent 282)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 expn) (w-0 expr)
-    (y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0 y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) w-0))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-1)))
-      (send (enc n (exp (gen) (mul x w-0 y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-1)))
-      (send (exp (gen) (mul x w-0 y-1))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0 y-1)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0 y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) w-0)) (send (cat (exp (gen) y-1) w-0)))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 389)
-  (parent 282)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (gen) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (5 0) (4 0))
-  (operation nonce-test (added-listener x) (rec x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x))))
-    ((recv x) (send x)))
-  (label 390)
-  (parent 283)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (x w) (y (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (5 0) (4 0))
-  (operation nonce-test (added-listener x) (mul w (rec x)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (gen) (mul w (rec x))))
-      (send (cat (gen) (mul w (rec x))))) ((recv x) (send x)))
-  (label 391)
-  (parent 284)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul (rec x) (rec x)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 392)
-  (parent 286)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (x w) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x) (rec x))
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) x) (mul w (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 393)
-  (parent 287)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 0) (4 0)) ((6 0) (5 0)) ((7 1) (5 0)))
-  (absent (x-0 (mul w x)) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (5 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (gen) (mul w x))) (send (cat (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((send (exp (gen) x))) ((recv x-0) (send x-0)))
-  (label 394)
-  (parent 290)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 0) (4 0)) ((6 0) (7 0)) ((7 1) (5 0)))
-  (absent (x-0 (mul x w)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0)))))
-    ((send (exp (gen) x-0))) ((recv x-0) (send x-0)))
-  (label 395)
-  (parent 291)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (x (mul w y)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))) ((recv x) (send x)))
-  (label 396)
-  (parent 293)
-  (unrealized (4 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (deflistener y)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y (mul x w)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w (rec y)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul w (rec y))))
-      (send (cat (exp (gen) y) (mul w (rec y))))) ((recv y) (send y)))
-  (label 397)
-  (parent 294)
-  (unrealized (4 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (4 0)) ((6 1) (5 0)) ((7 1) (5 0)))
-  (absent (x (mul w y-0)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (gen) (mul w y-0))) (send (cat (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x) (send x)))
-  (label 398)
-  (parent 296)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener y-0)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (0 1))
-    ((6 1) (4 0)) ((6 1) (7 0)) ((7 1) (5 0)))
-  (absent (y-0 (mul x w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w (rec y-0)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y-0) (mul w (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv y-0) (send y-0)))
-  (label 399)
-  (parent 297)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (gen) (mul w (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x-0 (mul (rec x) w)) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w (rec x-0))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (gen) (mul w (rec x-0))))
-      (send (cat (gen) (mul w (rec x-0))))) ((recv x-0) (send x-0)))
-  (label 400)
-  (parent 300)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (7 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x-0 (mul x w)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w x-0))) (send (cat (gen) (mul w x-0))))
-    ((recv x-0) (send x-0)))
-  (label 401)
-  (parent 301)
-  (unrealized (3 0) (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x x x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w x x)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x) (mul w x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (7 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x-0 (mul w x x)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x x-0)))
-      (send (enc n (exp (gen) (mul w x x x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x x x-0)))
-      (send (exp (gen) (mul w x x x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w x x)))
-      (send (cat (exp (gen) x-0) (mul w x x)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x) (mul w x-0)))
-      (send (cat (exp (gen) x) (mul w x-0)))) ((recv x-0) (send x-0)))
-  (label 402)
-  (parent 303)
-  (unrealized (3 0) (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x-0 (mul (rec x) w)) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0) (rec x-0))
-    (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w (rec x-0))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 403)
-  (parent 304)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (rec x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (rec x-0) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (rec x-0)))
-      (send (cat (exp (gen) x) (rec x-0)))) ((recv x-0) (send x-0)))
-  (label 404)
-  (parent 305)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x-0 w) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 405)
-  (parent 306)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 (rec x-1)))) (x x-1))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-1))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-1)
-  (precedes ((0 0) (4 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0))
-    ((8 1) (6 0)))
-  (absent (x-1 (mul (rec x) w x-0)) (y (gen)))
-  (pen-non-orig y x-1)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-1) (mul w (rec x-1)) (6 0))
-  (traces
-    ((send (exp (gen) x-1)) (recv (exp (gen) (mul w x-0 (rec x-1))))
-      (send (enc n (exp (gen) (mul w x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-1))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-1)))))
-    ((send (exp (gen) x-0))) ((recv x-1) (send x-1)))
-  (label 406)
-  (parent 309)
-  (unrealized (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 x-1))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) (mul x w x-0)))
-  (defstrand init 1 (x x-1))
-  (deflistener (cat (exp (gen) x-0) (mul w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener x-1)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (8 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0))
-    ((8 1) (6 0)))
-  (absent (x-1 (mul x w x-0)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-1) (mul w x-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 x-1)))
-      (send (enc n (exp (gen) (mul x w x-0 x-1)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0 x-1)))
-      (send (exp (gen) (mul x w x-0 x-1))))
-    ((recv (cat (exp (gen) x-1) (mul x w x-0)))
-      (send (cat (exp (gen) x-1) (mul x w x-0))))
-    ((send (exp (gen) x-1)))
-    ((recv (cat (exp (gen) x-0) (mul w x-1)))
-      (send (cat (exp (gen) x-0) (mul w x-1)))) ((send (exp (gen) x-0)))
-    ((recv x-1) (send x-1)))
-  (label 407)
-  (parent 310)
-  (unrealized (3 0) (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn) (w expr) (x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (deflistener x-1)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (8 0))
-    ((8 1) (6 0)))
-  (absent (x-1 (mul x (rec x-0) w)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-1) (mul w (rec x-1)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul w (rec x-1)))))
-    ((send (exp (gen) x-1))) ((recv x-1) (send x-1)))
-  (label 408)
-  (parent 311)
-  (unrealized (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w y)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 0) (4 0)) ((5 0) (6 0)) ((6 1) (0 1))
-    ((7 1) (6 0)))
-  (absent (x-0 (mul (rec x) w y)) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y (rec x-0))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w y)))
-      (send (cat (exp (gen) x) (mul (rec x) w y))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w (rec x-0))))
-      (send (cat (exp (gen) y) (mul w (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 409)
-  (parent 313)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 0) (4 0)) ((5 0) (7 0)) ((6 1) (0 1))
-    ((7 1) (6 0)))
-  (absent (x-0 (mul x w y)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y x-0)))
-      (send (enc n (exp (gen) (mul x w y x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y x-0)))
-      (send (exp (gen) (mul x w y x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w y)))
-      (send (cat (exp (gen) x-0) (mul x w y)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w x-0)))
-      (send (cat (exp (gen) y) (mul w x-0)))) ((recv x-0) (send x-0)))
-  (label 410)
-  (parent 314)
-  (unrealized (3 0) (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (deflistener y)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 0) (4 0)) ((5 0) (6 0)) ((6 1) (0 1))
-    ((7 1) (6 0)))
-  (absent (y (mul x (rec x-0) w)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (4 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w (rec y)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w (rec y))))
-      (send (cat (exp (gen) y) (mul w (rec y))))) ((recv y) (send y)))
-  (label 411)
-  (parent 315)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w y-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0))
-    ((8 1) (6 0)))
-  (absent (x-0 (mul (rec x) w y-0)) (y-0 h) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y-0 (rec x-0))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w y-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w y-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec x-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x-0) (send x-0)))
-  (label 412)
-  (parent 317)
-  (unrealized (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (8 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0))
-    ((8 1) (6 0)))
-  (absent (x-0 (mul x w y-0)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 x-0)))
-      (send (enc n (exp (gen) (mul x w y-0 x-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-0 x-0)))
-      (send (exp (gen) (mul x w y-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w y-0)))
-      (send (cat (exp (gen) x-0) (mul x w y-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w x-0)))
-      (send (cat (exp (gen) y-0) (mul w x-0))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x-0) (send x-0)))
-  (label 413)
-  (parent 318)
-  (unrealized (3 0) (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x x-0 expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener y-0)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (8 0))
-    ((8 1) (6 0)))
-  (absent (y-0 (mul x (rec x-0) w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w (rec y-0)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv y-0) (send y-0)))
-  (label 414)
-  (parent 319)
-  (unrealized (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (x (mul (rec y) w)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv (cat (gen) (mul w (rec x))))
-      (send (cat (gen) (mul w (rec x))))) ((recv x) (send x)))
-  (label 415)
-  (parent 321)
-  (unrealized (4 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y (mul x w)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 416)
-  (parent 322)
-  (unrealized (3 0) (4 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x x y)))
-  (deflistener (cat (exp (gen) y) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y (mul w x x)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x x y))) (send (exp (gen) (mul w x x y))))
-    ((recv (cat (exp (gen) y) (mul w x x)))
-      (send (cat (exp (gen) y) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((recv y) (send y)))
-  (label 417)
-  (parent 324)
-  (unrealized (3 0) (4 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (x (mul (rec y) w)) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x) (rec x))
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv (cat (exp (gen) x) (mul w (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 418)
-  (parent 325)
-  (unrealized (4 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x)))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 0) (4 0)) ((6 0) (5 0))
-    ((7 1) (5 0)))
-  (absent (x-0 (mul (rec y) w x)) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (5 0) (4 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x))))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((send (exp (gen) x))) ((recv x-0) (send x-0)))
-  (label 419)
-  (parent 327)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 0) (4 0)) ((6 0) (5 0))
-    ((7 1) (5 0)))
-  (absent (y (mul x w x-0)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0 y)))
-      (send (exp (gen) (mul x w x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w x-0)))
-      (send (cat (exp (gen) y) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0)))
-    ((recv y) (send y)))
-  (label 420)
-  (parent 328)
-  (unrealized (3 0) (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 0) (4 0)) ((6 0) (7 0))
-    ((7 1) (5 0)))
-  (absent (x-0 (mul x (rec y) w)) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0)))))
-    ((send (exp (gen) x-0))) ((recv x-0) (send x-0)))
-  (label 421)
-  (parent 329)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 422)
-  (parent 330)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (x w) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))) ((recv x) (send x)))
-  (label 423)
-  (parent 331)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (4 0)) ((6 1) (5 0))
-    ((7 1) (5 0)))
-  (absent (x (mul (rec y) w y-0)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x) (send x)))
-  (label 424)
-  (parent 334)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y-0))
-  (deflistener (exp (gen) y-0))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (4 0)) ((6 1) (5 0))
-    ((7 1) (5 0)))
-  (absent (y-0 (mul x w y)) (y h) (y-0 (gen)))
-  (pen-non-orig x y-0)
-  (precur (5 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (gen)) (send (exp (gen) y-0)) (recv (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (exp (gen) (mul x w y y-0)))
-      (send (exp (gen) (mul x w y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w y)))
-      (send (cat (exp (gen) y-0) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 425)
-  (parent 335)
-  (unrealized (3 0) (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener y-0)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (0 1)) ((6 1) (4 0)) ((6 1) (7 0))
-    ((7 1) (5 0)))
-  (absent (y-0 (mul x (rec y) w)) (y-0 h) (y (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w (rec y-0)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv (cat (exp (gen) y-0) (mul w (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv y-0) (send y-0)))
-  (label 426)
-  (parent 336)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x (mul (rec y-0) w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w (rec x))))
-      (send (cat (gen) (mul w (rec x))))) ((recv x) (send x)))
-  (label 427)
-  (parent 338)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (7 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y-0 (mul x w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) (mul x w y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w)))
-      (send (cat (exp (gen) y-0) (mul x w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w y-0))) (send (cat (gen) (mul w y-0))))
-    ((recv y-0) (send y-0)))
-  (label 428)
-  (parent 339)
-  (unrealized (3 0) (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x x y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (7 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y-0 (mul w x x)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y-0)))
-      (send (enc n (exp (gen) (mul w x x y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x x y-0)))
-      (send (exp (gen) (mul w x x y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w x x)))
-      (send (cat (exp (gen) y-0) (mul w x x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w y-0)))
-      (send (cat (exp (gen) x) (mul w y-0)))) ((recv y-0) (send y-0)))
-  (label 429)
-  (parent 341)
-  (unrealized (3 0) (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x (mul (rec y-0) w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x) (rec x))
-    (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 430)
-  (parent 342)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 expn) (w expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0))
-    ((8 1) (6 0)))
-  (absent (x-0 (mul (rec y-0) w x)) (y-0 h) (y (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((send (exp (gen) x))) ((recv x-0) (send x-0)))
-  (label 431)
-  (parent 344)
-  (unrealized (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x expn) (w expr) (x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w x-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener y-0)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (8 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (6 0))
-    ((8 1) (6 0)))
-  (absent (y-0 (mul x w x-0)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w x-0 y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w x-0 y-0)))
-      (send (exp (gen) (mul x w x-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w x-0)))
-      (send (cat (exp (gen) y-0) (mul x w x-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w y-0)))
-      (send (cat (exp (gen) x-0) (mul w y-0)))) ((send (exp (gen) x-0)))
-    ((recv y-0) (send y-0)))
-  (label 432)
-  (parent 345)
-  (unrealized (3 0) (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 0) (4 0)) ((7 0) (8 0))
-    ((8 1) (6 0)))
-  (absent (x-0 (mul x (rec y-0) w)) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0)))))
-    ((send (exp (gen) x-0))) ((recv x-0) (send x-0)))
-  (label 433)
-  (parent 346)
-  (unrealized (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y-0))
-  (deflistener (exp (gen) y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (4 0)) ((5 1) (6 0)) ((6 1) (0 1))
-    ((7 1) (6 0)))
-  (absent (x (mul (rec y) w y-0)) (y-0 (gen)) (y h))
-  (pen-non-orig y-0 x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y-0)) (recv (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x))))) ((recv x) (send x)))
-  (label 434)
-  (parent 348)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (4 0)) ((5 1) (7 0)) ((6 1) (0 1))
-    ((7 1) (6 0)))
-  (absent (y-0 (mul x w y)) (y (gen)) (y-0 h))
-  (pen-non-orig x y)
-  (precur (6 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y y-0)))
-      (send (exp (gen) (mul x w y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w y)))
-      (send (cat (exp (gen) y-0) (mul x w y))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))) ((recv y-0) (send y-0)))
-  (label 435)
-  (parent 349)
-  (unrealized (3 0) (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y-0))
-  (deflistener (exp (gen) y-0))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (deflistener y-0)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 1) (4 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (1 2))
-    ((4 1) (3 0)) ((5 1) (4 0)) ((5 1) (6 0)) ((6 1) (0 1))
-    ((7 1) (6 0)))
-  (absent (y-0 (mul x (rec y) w)) (y-0 (gen)) (y h))
-  (pen-non-orig x y-0)
-  (precur (6 0) (4 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w (rec y-0)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y-0)) (recv (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec y-0)))))
-    ((recv y-0) (send y-0)))
-  (label 436)
-  (parent 350)
-  (unrealized (4 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))) ((recv x) (send x)))
-  (label 437)
-  (parent 351)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x w) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x))))) ((recv x) (send x)))
-  (label 438)
-  (parent 352)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (y y-0 expn) (w expr) (y-1 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-1 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul w y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w (rec x))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0))
-    ((8 1) (6 0)))
-  (absent (x (mul (rec y-0) w y-1)) (y-1 h-0) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y y-0 y-1 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-1 (rec x))))
-      (send (enc n (exp (gen) (mul w y-1)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul w y-1))) (send (exp (gen) (mul w y-1))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w y-1)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w (rec x))))
-      (send (cat (exp (gen) y-1) (mul w (rec x)))))
-    ((recv h-0) (send (exp (gen) y-1))) ((recv x) (send x)))
-  (label 439)
-  (parent 355)
-  (unrealized (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (y x expn) (w expr) (y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w y-0 y-1)))
-  (deflistener (cat (exp (gen) y-1) (mul x w y-0)))
-  (defstrand resp 2 (h h) (y y-1))
-  (deflistener (cat (exp (gen) y-0) (mul w y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (deflistener y-1)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (8 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (6 0))
-    ((8 1) (6 0)))
-  (absent (y-1 (mul x w y-0)) (y-0 h-0) (y-1 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-1) (mul w y-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w y-0 y-1)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w y-0 y-1)))
-      (send (exp (gen) (mul x w y-0 y-1))))
-    ((recv (cat (exp (gen) y-1) (mul x w y-0)))
-      (send (cat (exp (gen) y-1) (mul x w y-0))))
-    ((recv h) (send (exp (gen) y-1)))
-    ((recv (cat (exp (gen) y-0) (mul w y-1)))
-      (send (cat (exp (gen) y-0) (mul w y-1))))
-    ((recv h-0) (send (exp (gen) y-0))) ((recv y-1) (send y-1)))
-  (label 440)
-  (parent 356)
-  (unrealized (3 0) (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (y x y-0 expn) (w expr) (y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w)) (x x))
-  (defstrand resp 3 (n n) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (deflistener y-1)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((2 1) (1 2)) ((3 1) (1 2)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (4 0)) ((7 1) (8 0))
-    ((8 1) (6 0)))
-  (absent (y-1 (mul x (rec y-0) w)) (y-1 h-0) (y-0 h) (y (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (4 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-1) (mul w (rec y-1)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul w (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))) ((recv y-1) (send y-1)))
-  (label 441)
-  (parent 357)
-  (unrealized (4 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (gen) (rec x)))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w-0 (rec x))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x)))))
-  (label 442)
-  (parent 367)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w-0) w-0 (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0)))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))))
-  (label 443)
-  (parent 367)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (gen) w-0))
-  (deflistener x)
-  (precedes ((0 0) (6 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))) ((recv x) (send x)))
-  (label 444)
-  (parent 367)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (w-0 (mul (rec x) (rec x))) (x-0 x))
-    (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x))))))
-  (label 445)
-  (parent 368)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w-0) w-0 (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))))
-  (label 446)
-  (parent 368)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x)))
-  (deflistener (cat (gen) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (deflistener x)
-  (precedes ((0 0) (6 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 x x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x)))
-      (send (enc n (exp (gen) (mul w-0 x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x))) (send (exp (gen) (mul w-0 x x))))
-    ((recv (cat (gen) (mul w-0 x x))) (send (cat (gen) (mul w-0 x x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0)))
-    ((recv x) (send x)))
-  (label 447)
-  (parent 368)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (6 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w-0 (mul (rec x) (rec x-0))) (x-2 x-0)) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 448)
-  (parent 369)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (6 0)))
-  (absent (x-0 (mul w-0 x)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul w-0 x)) (mul w-0 x)
-    (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (gen) (mul w-0 x))) (send (cat (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))))
-  (label 449)
-  (parent 369)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (6 0)))
-  (absent (x-0 (mul x w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w-0)) (mul x w-0)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 450)
-  (parent 369)
-  (unrealized (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y) (mul (rec x) (rec y))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul (rec x) (rec y))) (y-0 y)) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) y) (mul (rec x) (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) (rec y))))))
-  (label 451)
-  (parent 370)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (x (mul w-0 y)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul w-0 y)) (mul w-0 y) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (gen) (mul w-0 y))) (send (cat (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x))))))
-  (label 452)
-  (parent 370)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec y))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (mul x w-0)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w-0)) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec y))))
-      (send (cat (exp (gen) y) (mul w-0 (rec y))))))
-  (label 453)
-  (parent 370)
-  (unrealized (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul (rec x) (rec y-0))) (y-1 y-0)) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 454)
-  (parent 371)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (6 0)))
-  (absent (x (mul w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul w-0 y-0)) (mul w-0 y-0)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (gen) (mul w-0 y-0))) (send (cat (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 455)
-  (parent 371)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (6 0)))
-  (absent (y-0 (mul x w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w-0)) (mul x w-0)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 456)
-  (parent 371)
-  (unrealized (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((2 1) (1 2)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 457)
-  (parent 372)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) x-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w-0 (mul (rec x) x-0))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul (rec x) x-0)))
-      (send (cat (gen) (mul (rec x) x-0)))))
-  (label 458)
-  (parent 373)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (gen) (mul w-0 (rec x-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (x-0 (mul (rec x) w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w-0))
-    (mul (rec x) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 (rec x-0))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (gen) (mul w-0 (rec x-0))))
-      (send (cat (gen) (mul w-0 (rec x-0))))))
-  (label 459)
-  (parent 373)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w-0 x-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (x-0 (mul x w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w-0)) (mul x w-0)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w-0 x-0))) (send (cat (gen) (mul w-0 x-0)))))
-  (label 460)
-  (parent 373)
-  (unrealized (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w-0 (mul x (rec x-0) (rec x-0))) (x-2 x-0))
-    (one) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))))
-  (label 461)
-  (parent 374)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 x x)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 x-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (x-0 (mul w-0 x x)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul w-0 x x)) (mul w-0 x x)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x x-0)))
-      (send (enc n (exp (gen) (mul w-0 x x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x x-0)))
-      (send (exp (gen) (mul w-0 x x x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 x x)))
-      (send (cat (exp (gen) x-0) (mul w-0 x x))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 x-0)))
-      (send (cat (exp (gen) x) (mul w-0 x-0)))))
-  (label 462)
-  (parent 374)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (x-0 (mul (rec x) w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w-0))
-    (mul (rec x) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 (rec x-0))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0))))))
-  (label 463)
-  (parent 374)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (rec x-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-1 x-0) (w-0 (rec x-0))) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (rec x-0)))
-      (send (cat (exp (gen) x) (rec x-0)))))
-  (label 464)
-  (parent 375)
-  (unrealized (0 1) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (x-0 w-0) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 w-0) w-0 (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0)))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0))))))
-  (label 465)
-  (parent 375)
-  (unrealized (0 1) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (deflistener x)
-  (precedes ((0 0) (7 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((recv x) (send x)))
-  (label 466)
-  (parent 375)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-2 x) (x-3 x-0) (w-0 (mul (rec x) x-0 (rec x-1)))
-      (x-4 x-1)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 467)
-  (parent 376)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 (rec x-1))))
-    (x x-1))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-1))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (x-1 (mul (rec x) w-0 x-0)) (y (exp (gen) w)))
-  (pen-non-orig y x-1)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-1 (mul (rec x) w-0 x-0))
-    (mul (rec x) w-0 x-0) (5 0))
-  (traces
-    ((send (exp (gen) x-1)) (recv (exp (gen) (mul w-0 x-0 (rec x-1))))
-      (send (enc n (exp (gen) (mul w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x-0))) (send (exp (gen) (mul w-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-1))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-1)))))
-    ((send (exp (gen) x-0))))
-  (label 468)
-  (parent 376)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 x-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) (mul x w-0 x-0)))
-  (defstrand init 1 (x x-1))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 x-1)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (x-1 (mul x w-0 x-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-1 (mul x w-0 x-0))
-    (mul x w-0 x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 x-1)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 x-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 x-1)))
-      (send (exp (gen) (mul x w-0 x-0 x-1))))
-    ((recv (cat (exp (gen) x-1) (mul x w-0 x-0)))
-      (send (cat (exp (gen) x-1) (mul x w-0 x-0))))
-    ((send (exp (gen) x-1)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 x-1)))
-      (send (cat (exp (gen) x-0) (mul w-0 x-1))))
-    ((send (exp (gen) x-0))))
-  (label 469)
-  (parent 376)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn) (w-0 expr) (x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (x-1 (mul x (rec x-0) w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-1 (mul x (rec x-0) w-0))
-    (mul x (rec x-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul w-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 470)
-  (parent 376)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w-0 (mul (rec x) x-0 (rec y)))
-      (y-0 y)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))))
-  (label 471)
-  (parent 377)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 y)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)))
-  (absent (x-0 (mul (rec x) w-0 y)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w-0 y))
-    (mul (rec x) w-0 y) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 y (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 y)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 y))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x-0))))))
-  (label 472)
-  (parent 377)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0 y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 x-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)))
-  (absent (x-0 (mul x w-0 y)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w-0 y)) (mul x w-0 y)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y x-0)))
-      (send (enc n (exp (gen) (mul x w-0 y x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y x-0)))
-      (send (exp (gen) (mul x w-0 y x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0 y)))
-      (send (cat (exp (gen) x-0) (mul x w-0 y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 x-0)))
-      (send (cat (exp (gen) y) (mul w-0 x-0)))))
-  (label 473)
-  (parent 377)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec y))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)))
-  (absent (y (mul x (rec x-0) w-0)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x (rec x-0) w-0))
-    (mul x (rec x-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec y))))
-      (send (cat (exp (gen) y) (mul w-0 (rec y))))))
-  (label 474)
-  (parent 377)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w-0 (mul (rec x) x-0 (rec y-0)))
-      (y-1 y-0)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 475)
-  (parent 378)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x-0))))
-    (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 y-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (x-0 (mul (rec x) w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w-0 y-0))
-    (mul (rec x) w-0 y-0) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 y-0 (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 y-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 y-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 476)
-  (parent 378)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0 y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (x-0 (mul x w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w-0 y-0))
-    (mul x w-0 y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0 x-0)))
-      (send (exp (gen) (mul x w-0 y-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0 y-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0 y-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 x-0)))
-      (send (cat (exp (gen) y-0) (mul w-0 x-0))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 477)
-  (parent 378)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-0 (mul x (rec x-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x (rec x-0) w-0))
-    (mul x (rec x-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 478)
-  (parent 378)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-0 y) (w-0 (mul (rec x) y))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (gen) (mul (rec x) y)))
-      (send (cat (gen) (mul (rec x) y)))))
-  (label 479)
-  (parent 379)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0)))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (x (mul (rec y) w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w-0))
-    (mul (rec y) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0))))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))))
-  (label 480)
-  (parent 379)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0)))
-  (deflistener (cat (gen) (mul w-0 y)))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (mul x w-0)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w-0)) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0)))
-      (send (cat (exp (gen) y) (mul x w-0))))
-    ((recv (cat (gen) (mul w-0 y))) (send (cat (gen) (mul w-0 y)))))
-  (label 481)
-  (parent 379)
-  (unrealized (4 0) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (y-0 y) (w-0 (mul y (rec x) (rec x))) (x-0 x)) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) x) (mul y (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x) (rec x))))))
-  (label 482)
-  (parent 380)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 y)))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (mul w-0 x x)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul w-0 x x)) (mul w-0 x x)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x y)))
-      (send (enc n (exp (gen) (mul w-0 x x y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x y)))
-      (send (exp (gen) (mul w-0 x x y))))
-    ((recv (cat (exp (gen) y) (mul w-0 x x)))
-      (send (cat (exp (gen) y) (mul w-0 x x))))
-    ((recv (cat (exp (gen) x) (mul w-0 y)))
-      (send (cat (exp (gen) x) (mul w-0 y)))))
-  (label 483)
-  (parent 380)
-  (unrealized (0 1) (4 0) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (x (mul (rec y) w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w-0))
-    (mul (rec y) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))))
-  (label 484)
-  (parent 380)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (w-0 (mul (rec x) y (rec x-0)))
-      (x-2 x-0)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 485)
-  (parent 381)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)))
-  (absent (x-0 (mul (rec y) w-0 x)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec y) w-0 x))
-    (mul (rec y) w-0 x) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 x)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 x))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))))
-  (label 486)
-  (parent 381)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)))
-  (absent (y (mul x w-0 x-0)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w-0 x-0))
-    (mul x w-0 x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 y)))
-      (send (exp (gen) (mul x w-0 x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0 x-0)))
-      (send (cat (exp (gen) y) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 y)))
-      (send (cat (exp (gen) x-0) (mul w-0 y))))
-    ((send (exp (gen) x-0))))
-  (label 487)
-  (parent 381)
-  (unrealized (0 1) (4 0) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)))
-  (absent (x-0 (mul x (rec y) w-0)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x (rec y) w-0))
-    (mul x (rec y) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 488)
-  (parent 381)
-  (unrealized (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w-0 (rec x))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 489)
-  (parent 382)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w-0) w-0 (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x))))))
-  (label 490)
-  (parent 382)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (deflistener x)
-  (precedes ((0 0) (6 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0)))
-      (send (cat (exp (gen) y) (mul x w-0))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0)))
-    ((recv x) (send x)))
-  (label 491)
-  (parent 382)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (w-0 (mul (rec x) y (rec y-0)))
-      (y-2 y-0)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 492)
-  (parent 383)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)))
-  (absent (x (mul (rec y) w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w-0 y-0))
-    (mul (rec y) w-0 y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 493)
-  (parent 383)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x expn) (w-0 expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x w-0 y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)))
-  (absent (y-0 (mul x w-0 y)) (y h) (y-0 (exp (gen) w)))
-  (pen-non-orig x y-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w-0 y)) (mul x w-0 y)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x w-0 y y-0)))
-      (send (exp (gen) (mul x w-0 y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 y)))
-      (send (cat (exp (gen) y-0) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul w-0 y-0)))
-      (send (cat (exp (gen) y) (mul w-0 y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 494)
-  (parent 383)
-  (unrealized (0 1) (4 0) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)))
-  (absent (y-0 (mul x (rec y) w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x (rec y) w-0))
-    (mul x (rec y) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 495)
-  (parent 383)
-  (unrealized (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul (rec x) y-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w-0 (mul (rec x) y-0))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul (rec x) y-0)))
-      (send (cat (gen) (mul (rec x) y-0)))))
-  (label 496)
-  (parent 384)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (x (mul (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y-0) w-0))
-    (mul (rec y-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))))
-  (label 497)
-  (parent 384)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w-0 y-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 (mul x w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w-0)) (mul x w-0)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w-0 y-0))) (send (cat (gen) (mul w-0 y-0)))))
-  (label 498)
-  (parent 384)
-  (unrealized (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (y-1 y-0) (w-0 (mul y-0 (rec x) (rec x))) (x-0 x)) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))))
-  (label 499)
-  (parent 385)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 y-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 (mul w-0 x x)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul w-0 x x)) (mul w-0 x x)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x y-0)))
-      (send (enc n (exp (gen) (mul w-0 x x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x y-0)))
-      (send (exp (gen) (mul w-0 x x y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 x x)))
-      (send (cat (exp (gen) y-0) (mul w-0 x x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 y-0)))
-      (send (cat (exp (gen) x) (mul w-0 y-0)))))
-  (label 500)
-  (parent 385)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (x (mul (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y-0) w-0))
-    (mul (rec y-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))))
-  (label 501)
-  (parent 385)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-1 y-0) (w-0 (mul (rec x) y-0 (rec x-0)))
-      (x-2 x-0)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 502)
-  (parent 386)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0 x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (x-0 (mul (rec y-0) w-0 x)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec y-0) w-0 x))
-    (mul (rec y-0) w-0 x) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0 x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0 x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))))
-  (label 503)
-  (parent 386)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 y-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (y-0 (mul x w-0 x-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w-0 x-0))
-    (mul x w-0 x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 y-0)))
-      (send (exp (gen) (mul x w-0 x-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 x-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0 x-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 y-0)))
-      (send (cat (exp (gen) x-0) (mul w-0 y-0))))
-    ((send (exp (gen) x-0))))
-  (label 504)
-  (parent 386)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (x-0 (mul x (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x (rec y-0) w-0))
-    (mul x (rec y-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 505)
-  (parent 386)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)))
-  (absent (y-0 (exp (gen) w)) (y h))
-  (pen-non-orig x y-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (w-0 (mul (rec x) y (rec y-0)))
-      (y-2 y-0)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))))
-  (label 506)
-  (parent 387)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)))
-  (absent (x (mul (rec y) w-0 y-0)) (y-0 (exp (gen) w)) (y h))
-  (pen-non-orig y-0 x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w-0 y-0))
-    (mul (rec y) w-0 y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x))))))
-  (label 507)
-  (parent 387)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x expn) (w-0 expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 y)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 y-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)))
-  (absent (y-0 (mul x w-0 y)) (y (exp (gen) w)) (y-0 h))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w-0 y)) (mul x w-0 y)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y y-0)))
-      (send (exp (gen) (mul x w-0 y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 y)))
-      (send (cat (exp (gen) y-0) (mul x w-0 y))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 y-0)))
-      (send (cat (exp (gen) y) (mul w-0 y-0)))))
-  (label 508)
-  (parent 387)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)))
-  (absent (y-0 (mul x (rec y) w-0)) (y-0 (exp (gen) w)) (y h))
-  (pen-non-orig x y-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x (rec y) w-0))
-    (mul x (rec y) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0))))))
-  (label 509)
-  (parent 387)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w-0 (rec x))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))))
-  (label 510)
-  (parent 388)
-  (unrealized (0 1) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (x w-0) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w-0) w-0 (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x))))))
-  (label 511)
-  (parent 388)
-  (unrealized (0 1) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (deflistener x)
-  (precedes ((0 0) (7 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv x) (send x)))
-  (label 512)
-  (parent 388)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-2 y-0) (w-0 (mul (rec x) y-0 (rec y-1)))
-      (y-3 y-1)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 513)
-  (parent 389)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y y-0 expn) (w-0 expr)
-    (y-1 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-1 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (x (mul (rec y-0) w-0 y-1)) (y-1 h-0) (y-0 h)
-    (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 y-1 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y-0) w-0 y-1))
-    (mul (rec y-0) w-0 y-1) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-1 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-1))) (send (exp (gen) (mul w-0 y-1))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-1) (mul w-0 (rec x)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 514)
-  (parent 389)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x expn) (w-0 expr)
-    (y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0 y-1)))
-  (deflistener (cat (exp (gen) y-1) (mul x w-0 y-0)))
-  (defstrand resp 2 (h h) (y y-1))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-1 (mul x w-0 y-0)) (y-0 h-0) (y-1 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-1 (mul x w-0 y-0))
-    (mul x w-0 y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w-0 y-0 y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0 y-1)))
-      (send (exp (gen) (mul x w-0 y-0 y-1))))
-    ((recv (cat (exp (gen) y-1) (mul x w-0 y-0)))
-      (send (cat (exp (gen) y-1) (mul x w-0 y-0))))
-    ((recv h) (send (exp (gen) y-1)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 y-1)))
-      (send (cat (exp (gen) y-0) (mul w-0 y-1))))
-    ((recv h-0) (send (exp (gen) y-0))))
-  (label 515)
-  (parent 389)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 expn) (w-0 expr)
-    (y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-1 (mul x (rec y-0) w-0)) (y-1 h-0) (y-0 h)
-    (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-1 (mul x (rec y-0) w-0))
-    (mul x (rec y-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul w-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 516)
-  (parent 389)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (gen) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x))))
-    ((recv x) (send x)))
-  (label 517)
-  (parent 442)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0)))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))) ((recv x) (send x)))
-  (label 518)
-  (parent 443)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul (rec x) (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 519)
-  (parent 445)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x) (rec x))
-    (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 520)
-  (parent 446)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (6 0)) ((8 1) (6 0)))
-  (absent (x-0 (mul w-0 x)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (gen) (mul w-0 x))) (send (cat (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))) ((recv x-0) (send x-0)))
-  (label 521)
-  (parent 449)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (8 0)) ((8 1) (6 0)))
-  (absent (x-0 (mul x w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))) ((recv x-0) (send x-0)))
-  (label 522)
-  (parent 450)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x (mul w-0 y)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (gen) (mul w-0 y))) (send (cat (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x))))) ((recv x) (send x)))
-  (label 523)
-  (parent 452)
-  (unrealized (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec y))))
-  (deflistener y)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (mul x w-0)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w-0 (rec y)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec y))))
-      (send (cat (exp (gen) y) (mul w-0 (rec y))))) ((recv y) (send y)))
-  (label 524)
-  (parent 453)
-  (unrealized (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (6 0)) ((8 1) (6 0)))
-  (absent (x (mul w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (gen) (mul w-0 y-0))) (send (cat (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x) (send x)))
-  (label 525)
-  (parent 455)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (8 0)) ((8 1) (6 0)))
-  (absent (y-0 (mul x w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 (rec y-0)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv y-0) (send y-0)))
-  (label 526)
-  (parent 456)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (precedes ((0 2) (1 2)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y))))))
-  (label 527)
-  (parent 457)
-  (unrealized)
-  (shape)
-  (maps
-    ((0 1) ((n n) (hx (exp (gen) w)) (hy (exp (gen) w-0)) (x x) (y y))))
-  (origs (n (0 2))))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (gen) (mul w-0 (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul (rec x) w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 (rec x-0))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (gen) (mul w-0 (rec x-0))))
-      (send (cat (gen) (mul w-0 (rec x-0))))) ((recv x-0) (send x-0)))
-  (label 528)
-  (parent 459)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w-0 x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (8 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul x w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w-0 x-0))) (send (cat (gen) (mul w-0 x-0))))
-    ((recv x-0) (send x-0)))
-  (label 529)
-  (parent 460)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 x x)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (8 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul w-0 x x)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x x-0)))
-      (send (enc n (exp (gen) (mul w-0 x x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x x-0)))
-      (send (exp (gen) (mul w-0 x x x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 x x)))
-      (send (cat (exp (gen) x-0) (mul w-0 x x))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 x-0)))
-      (send (cat (exp (gen) x) (mul w-0 x-0)))) ((recv x-0) (send x-0)))
-  (label 530)
-  (parent 462)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul (rec x) w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0)
-    (mul w-0 (rec x-0) (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 (rec x-0))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 531)
-  (parent 463)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (rec x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (rec x-0) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (rec x-0)))
-      (send (cat (exp (gen) x) (rec x-0)))) ((recv x-0) (send x-0)))
-  (label 532)
-  (parent 464)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 w-0) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0)))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 533)
-  (parent 465)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 (rec x-1))))
-    (x x-1))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-1))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-1)
-  (precedes ((0 0) (5 0)) ((0 0) (9 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)) ((9 1) (7 0)))
-  (absent (x-1 (mul (rec x) w-0 x-0)) (y (exp (gen) w)))
-  (pen-non-orig y x-1)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-1) (mul w-0 (rec x-1)) (7 0))
-  (traces
-    ((send (exp (gen) x-1)) (recv (exp (gen) (mul w-0 x-0 (rec x-1))))
-      (send (enc n (exp (gen) (mul w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x-0))) (send (exp (gen) (mul w-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-1))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-1)))))
-    ((send (exp (gen) x-0))) ((recv x-1) (send x-1)))
-  (label 534)
-  (parent 468)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 x-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) (mul x w-0 x-0)))
-  (defstrand init 1 (x x-1))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener x-1)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (9 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)) ((9 1) (7 0)))
-  (absent (x-1 (mul x w-0 x-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-1) (mul w-0 x-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 x-1)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 x-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 x-1)))
-      (send (exp (gen) (mul x w-0 x-0 x-1))))
-    ((recv (cat (exp (gen) x-1) (mul x w-0 x-0)))
-      (send (cat (exp (gen) x-1) (mul x w-0 x-0))))
-    ((send (exp (gen) x-1)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 x-1)))
-      (send (cat (exp (gen) x-0) (mul w-0 x-1))))
-    ((send (exp (gen) x-0))) ((recv x-1) (send x-1)))
-  (label 535)
-  (parent 469)
-  (unrealized (4 0) (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn) (w-0 expr) (x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (deflistener x-1)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (9 0)) ((9 1) (7 0)))
-  (absent (x-1 (mul x (rec x-0) w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-1) (mul w-0 (rec x-1)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul w-0 (rec x-1)))))
-    ((send (exp (gen) x-1))) ((recv x-1) (send x-1)))
-  (label 536)
-  (parent 470)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 y)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul (rec x) w-0 y)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 y (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 y)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 y))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 537)
-  (parent 472)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0 y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (8 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul x w-0 y)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y x-0)))
-      (send (enc n (exp (gen) (mul x w-0 y x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y x-0)))
-      (send (exp (gen) (mul x w-0 y x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0 y)))
-      (send (cat (exp (gen) x-0) (mul x w-0 y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 x-0)))
-      (send (cat (exp (gen) y) (mul w-0 x-0)))) ((recv x-0) (send x-0)))
-  (label 538)
-  (parent 473)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec y))))
-  (deflistener y)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (8 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y (mul x (rec x-0) w-0)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w-0 (rec y)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec y))))
-      (send (cat (exp (gen) y) (mul w-0 (rec y))))) ((recv y) (send y)))
-  (label 539)
-  (parent 474)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x-0))))
-    (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 y-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (9 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)) ((9 1) (7 0)))
-  (absent (x-0 (mul (rec x) w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 y-0 (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 y-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 y-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x-0) (send x-0)))
-  (label 540)
-  (parent 476)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0 y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (9 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)) ((9 1) (7 0)))
-  (absent (x-0 (mul x w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0 x-0)))
-      (send (exp (gen) (mul x w-0 y-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0 y-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0 y-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 x-0)))
-      (send (cat (exp (gen) y-0) (mul w-0 x-0))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x-0) (send x-0)))
-  (label 541)
-  (parent 477)
-  (unrealized (4 0) (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (9 0)) ((9 1) (7 0)))
-  (absent (y-0 (mul x (rec x-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 (rec y-0)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv y-0) (send y-0)))
-  (label 542)
-  (parent 478)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0)))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x (mul (rec y) w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0))))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))) ((recv x) (send x)))
-  (label 543)
-  (parent 480)
-  (unrealized (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0)))
-  (deflistener (cat (gen) (mul w-0 y)))
-  (deflistener y)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (mul x w-0)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w-0 y) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0)))
-      (send (cat (exp (gen) y) (mul x w-0))))
-    ((recv (cat (gen) (mul w-0 y))) (send (cat (gen) (mul w-0 y))))
-    ((recv y) (send y)))
-  (label 544)
-  (parent 481)
-  (unrealized (4 0) (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 y)))
-  (deflistener y)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (mul w-0 x x)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w-0 y) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x y)))
-      (send (enc n (exp (gen) (mul w-0 x x y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x y)))
-      (send (exp (gen) (mul w-0 x x y))))
-    ((recv (cat (exp (gen) y) (mul w-0 x x)))
-      (send (cat (exp (gen) y) (mul w-0 x x))))
-    ((recv (cat (exp (gen) x) (mul w-0 y)))
-      (send (cat (exp (gen) x) (mul w-0 y)))) ((recv y) (send y)))
-  (label 545)
-  (parent 483)
-  (unrealized (4 0) (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x (mul (rec y) w-0)) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x) (rec x))
-    (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 546)
-  (parent 484)
-  (unrealized (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)) ((8 1) (6 0)))
-  (absent (x-0 (mul (rec y) w-0 x)) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 x)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 x))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))) ((recv x-0) (send x-0)))
-  (label 547)
-  (parent 486)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (8 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)) ((8 1) (6 0)))
-  (absent (y (mul x w-0 x-0)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w-0 y) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 y)))
-      (send (exp (gen) (mul x w-0 x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0 x-0)))
-      (send (cat (exp (gen) y) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 y)))
-      (send (cat (exp (gen) x-0) (mul w-0 y)))) ((send (exp (gen) x-0)))
-    ((recv y) (send y)))
-  (label 548)
-  (parent 487)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (8 0)) ((8 1) (6 0)))
-  (absent (x-0 (mul x (rec y) w-0)) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))) ((recv x-0) (send x-0)))
-  (label 549)
-  (parent 488)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 550)
-  (parent 489)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x))))) ((recv x) (send x)))
-  (label 551)
-  (parent 490)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)) ((8 1) (6 0)))
-  (absent (x (mul (rec y) w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x) (send x)))
-  (label 552)
-  (parent 493)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x expn) (w-0 expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x w-0 y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (8 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)) ((8 1) (6 0)))
-  (absent (y-0 (mul x w-0 y)) (y h) (y-0 (exp (gen) w)))
-  (pen-non-orig x y-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x w-0 y y-0)))
-      (send (exp (gen) (mul x w-0 y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 y)))
-      (send (cat (exp (gen) y-0) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul w-0 y-0)))
-      (send (cat (exp (gen) y) (mul w-0 y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 553)
-  (parent 494)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (8 0)) ((8 1) (6 0)))
-  (absent (y-0 (mul x (rec y) w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 (rec y-0)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv y-0) (send y-0)))
-  (label 554)
-  (parent 495)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x (mul (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))) ((recv x) (send x)))
-  (label 555)
-  (parent 497)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w-0 y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (8 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y-0 (mul x w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w-0 y-0))) (send (cat (gen) (mul w-0 y-0))))
-    ((recv y-0) (send y-0)))
-  (label 556)
-  (parent 498)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (8 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y-0 (mul w-0 x x)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x y-0)))
-      (send (enc n (exp (gen) (mul w-0 x x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x y-0)))
-      (send (exp (gen) (mul w-0 x x y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 x x)))
-      (send (cat (exp (gen) y-0) (mul w-0 x x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 y-0)))
-      (send (cat (exp (gen) x) (mul w-0 y-0)))) ((recv y-0) (send y-0)))
-  (label 557)
-  (parent 500)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x (mul (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x) (rec x))
-    (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 558)
-  (parent 501)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0 x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (9 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)) ((9 1) (7 0)))
-  (absent (x-0 (mul (rec y-0) w-0 x)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0 x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0 x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))) ((recv x-0) (send x-0)))
-  (label 559)
-  (parent 503)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (9 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)) ((9 1) (7 0)))
-  (absent (y-0 (mul x w-0 x-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 y-0)))
-      (send (exp (gen) (mul x w-0 x-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 x-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0 x-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 y-0)))
-      (send (cat (exp (gen) x-0) (mul w-0 y-0))))
-    ((send (exp (gen) x-0))) ((recv y-0) (send y-0)))
-  (label 560)
-  (parent 504)
-  (unrealized (4 0) (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (9 0)) ((9 1) (7 0)))
-  (absent (x-0 (mul x (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))) ((recv x-0) (send x-0)))
-  (label 561)
-  (parent 505)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x (mul (rec y) w-0 y-0)) (y-0 (exp (gen) w)) (y h))
-  (pen-non-orig y-0 x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv x) (send x)))
-  (label 562)
-  (parent 507)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x expn) (w-0 expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 y)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (8 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y-0 (mul x w-0 y)) (y (exp (gen) w)) (y-0 h))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y y-0)))
-      (send (exp (gen) (mul x w-0 y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 y)))
-      (send (cat (exp (gen) y-0) (mul x w-0 y))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 y-0)))
-      (send (cat (exp (gen) y) (mul w-0 y-0)))) ((recv y-0) (send y-0)))
-  (label 563)
-  (parent 508)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (8 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y-0 (mul x (rec y) w-0)) (y-0 (exp (gen) w)) (y h))
-  (pen-non-orig x y-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 (rec y-0)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv y-0) (send y-0)))
-  (label 564)
-  (parent 509)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))) ((recv x) (send x)))
-  (label 565)
-  (parent 510)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x w-0) (y-0 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv x) (send x)))
-  (label 566)
-  (parent 511)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y y-0 expn) (w-0 expr)
-    (y-1 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-1 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (9 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)) ((9 1) (7 0)))
-  (absent (x (mul (rec y-0) w-0 y-1)) (y-1 h-0) (y-0 h)
-    (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 y-1 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-1 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-1))) (send (exp (gen) (mul w-0 y-1))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-1) (mul w-0 (rec x)))))
-    ((recv h-0) (send (exp (gen) y-1))) ((recv x) (send x)))
-  (label 567)
-  (parent 514)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x expn) (w-0 expr)
-    (y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0 y-1)))
-  (deflistener (cat (exp (gen) y-1) (mul x w-0 y-0)))
-  (defstrand resp 2 (h h) (y y-1))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (deflistener y-1)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (9 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)) ((9 1) (7 0)))
-  (absent (y-1 (mul x w-0 y-0)) (y-0 h-0) (y-1 h) (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-1) (mul w-0 y-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w-0 y-0 y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0 y-1)))
-      (send (exp (gen) (mul x w-0 y-0 y-1))))
-    ((recv (cat (exp (gen) y-1) (mul x w-0 y-0)))
-      (send (cat (exp (gen) y-1) (mul x w-0 y-0))))
-    ((recv h) (send (exp (gen) y-1)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 y-1)))
-      (send (cat (exp (gen) y-0) (mul w-0 y-1))))
-    ((recv h-0) (send (exp (gen) y-0))) ((recv y-1) (send y-1)))
-  (label 568)
-  (parent 515)
-  (unrealized (4 0) (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 expn) (w-0 expr)
-    (y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (deflistener y-1)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (9 0)) ((9 1) (7 0)))
-  (absent (y-1 (mul x (rec y-0) w-0)) (y-1 h-0) (y-0 h)
-    (y (exp (gen) w)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-1) (mul w-0 (rec y-1)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul w-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))) ((recv y-1) (send y-1)))
-  (label 569)
-  (parent 516)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
+(comment "CPSA 3.5.0")
+(comment "All input read from dh_mim.scm")
+
+(defprotocol dh_mim diffie-hellman
+  (defrole init
+    (vars (x rndx) (y expt) (n text))
+    (trace (send (exp (gen) x)) (recv (exp (gen) y))
+      (send (enc n (exp (gen) (mul x y)))))
+    (uniq-gen x))
+  (defrole resp
+    (vars (y rndx) (x expt) (n text))
+    (trace (recv (exp (gen) x)) (send (exp (gen) y))
+      (recv (enc n (exp (gen) (mul y x)))))
+    (uniq-gen y)
+    (absent (y (exp (gen) x))))
+  (comment "Diffie-hellman key exchange followed by an encryption"))
+
+(defskeleton dh_mim
+  (vars (n text) (x0 y0 expt) (x y rndx))
+  (defstrand init 3 (n n) (x x) (y y0))
+  (defstrand resp 3 (n n) (y y) (x x0))
+  (precedes ((0 2) (1 2)))
+  (absent (y (exp (gen) x0)))
+  (pen-non-orig x y)
+  (uniq-gen x y)
+  (uniq-orig n)
+  (comment "Agreement on the encrypted text only")
+  (traces
+    ((send (exp (gen) x)) (recv (exp (gen) y0))
+      (send (enc n (exp (gen) (mul y0 x)))))
+    ((recv (exp (gen) x0)) (send (exp (gen) y))
+      (recv (enc n (exp (gen) (mul x0 y))))))
+  (label 0)
+  (unrealized)
+  (shape)
+  (maps ((0 1) ((n n) (x0 x0) (y0 y0) (x x) (y y))))
+  (origs (n (0 2))))
 
 (comment "Nothing left to do")
diff --git a/tst/dh_mim2.scm b/tst/dh_mim2.scm
--- a/tst/dh_mim2.scm
+++ b/tst/dh_mim2.scm
@@ -4,82 +4,32 @@
 
 (defprotocol dh_mim diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (n text))
-    (trace (send (exp (gen) x)) (recv h) (send (enc n (exp h x))))
-    (neq (h (gen)))
+    (vars (x rndx) (y expt) (n text))
+    (trace
+     (send (exp (gen) x))
+     (recv (exp (gen) y))
+     (send (enc n (exp (gen) (mul y x)))))
+    (neq (y (one)))
     (uniq-orig n)
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (n text))
-    (trace (recv h) (send (exp (gen) y)) (recv (enc n (exp h y))))
-    (neq (h (gen)))
+    (vars (y rndx) (x expt) (n text))
+    (trace
+     (recv (exp (gen) x))
+     (send (exp (gen) y))
+     (recv (enc n (exp (gen) (mul x y)))))
+    (neq (x (one)))
     (uniq-gen y))
   (comment "Diffie-hellman key exchange followed by an encryption"))
 
-(comment
-(defskeleton dh_mim
-  (vars (n text) (hx base) (y x expn))
-  (defstrand init 3 (n n) (h (exp hx (mul (rec y) x))) (x y))
-  (defstrand resp 3 (n n) (h hx) (y x))
-  (precedes ((0 2) (1 2)) ((1 1) (0 1)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation encryption-test (displaced 2 0 init 3)
-    (enc n (exp hx (mul y-0 x-0))) (1 2))
-  (traces
-    ((send (exp (gen) y)) (recv (exp hx (mul (rec y) x)))
-      (send (enc n (exp hx x))))
-    ((recv hx) (send (exp (gen) x)) (recv (enc n (exp hx x)))))
-  (label 1)
-  (parent 0)
-  (unrealized (0 1))
-  (origs (n (0 2)))
-  (comment "empty cohort"))
-)
-
 ;(comment
 (defskeleton dh_mim
-  (vars (n text) (hx hy base) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h hx) (y y))
+  (vars (n text) (x0 y0 expt) (x y rndx))
+  (defstrand init 3 (n n) (y y0) (x x))
+  (defstrand resp 3 (n n) (x x0) (y y))
   (precedes ((0 2) (1 2)))
   (uniq-orig n)
   (pen-non-orig x y)
   (comment "Agreement on the encrypted text only"))
 ;)
 
-(comment
-(defskeleton dh_mim
-  (vars (n text) (x z y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x z y))) (x y))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul z y y))) (y x))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n))
-)
-
-(comment
-(defskeleton dh_mim
-  (vars (n text) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y y-0))) (x y-0))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul (rec x) y y-0 y-0))) (y x))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)))
-  (pen-non-orig x y-0)
-  (uniq-gen x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 0 init 1) (exp (gen) (mul y x-0))
-    (0 1))
-  (traces
-    ((send (exp (gen) y-0)) (recv (exp (gen) (mul y y-0)))
-      (send (enc n (exp (gen) (mul y y-0 y-0)))))
-    ((recv (exp (gen) (mul (rec x) y y-0 y-0))) (send (exp (gen) x))
-      (recv (enc n (exp (gen) (mul y y-0 y-0))))))
-  (label 3)
-  (parent 1)
-  (seen 3)
-  (unrealized (1 0))
-  (origs (n (0 2)))
-  (comment "3 in cohort - 2 not yet seen"))
-)
diff --git a/tst/dh_mim2.tst b/tst/dh_mim2.tst
--- a/tst/dh_mim2.tst
+++ b/tst/dh_mim2.tst
@@ -1,11257 +1,46 @@
 (herald "Diffie-Hellman protocol, man-in-the-middle attack"
   (algebra diffie-hellman))
 
-(comment "CPSA 3.4.0")
-(comment "All input read from dh_mim2.scm")
-
-(defprotocol dh_mim diffie-hellman
-  (defrole init
-    (vars (x expn) (h base) (n text))
-    (trace (send (exp (gen) x)) (recv h) (send (enc n (exp h x))))
-    (uniq-orig n)
-    (uniq-gen x)
-    (neq (h (gen))))
-  (defrole resp
-    (vars (y expn) (h base) (n text))
-    (trace (recv h) (send (exp (gen) y)) (recv (enc n (exp h y))))
-    (uniq-gen y)
-    (neq (h (gen)))
-    (absent (y h)))
-  (comment "Diffie-hellman key exchange followed by an encryption"))
-
-(defskeleton dh_mim
-  (vars (n text) (hx hy base) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h hx) (y y))
-  (precedes ((0 2) (1 2)))
-  (absent (y hx))
-  (neq (hx (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (comment "Agreement on the encrypted text only")
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv hx) (send (exp (gen) y)) (recv (enc n (exp hx y)))))
-  (label 0)
-  (unrealized (1 2))
-  (origs (n (0 2)))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x y expn))
-  (defstrand init 3 (n n) (h (exp hy y)) (x x))
-  (defstrand resp 3 (n n) (h (exp hy x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)))
-  (absent (y (exp hy x)))
-  (neq ((exp hy y) (gen)) ((exp hy x) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation encryption-test (displaced 2 0 init 3) (enc n (exp hx y-0))
-    (1 2))
-  (traces
-    ((send (exp (gen) x)) (recv (exp hy y))
-      (send (enc n (exp hy (mul x y)))))
-    ((recv (exp hy x)) (send (exp (gen) y))
-      (recv (enc n (exp hy (mul x y))))))
-  (label 1)
-  (parent 0)
-  (unrealized (0 1) (1 0))
-  (origs (n (0 2)))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hx hy base) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h hx) (y y))
-  (deflistener (exp hx y))
-  (precedes ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2)))
-  (absent (y hx))
-  (neq (hx (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation encryption-test (added-listener (exp hx y))
-    (enc n (exp hx y)) (1 2))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv hx) (send (exp (gen) y)) (recv (enc n (exp hx y))))
-    ((recv (exp hx y)) (send (exp hx y))))
-  (label 2)
-  (parent 0)
-  (unrealized (1 2) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (neq ((exp (gen) y) (gen)) ((exp (gen) x) (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul y x)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x))))))
-  (label 3)
-  (parent 1)
-  (unrealized)
-  (shape)
-  (maps
-    ((0 1) ((n n) (hx (exp (gen) x)) (hy (exp (gen) y)) (x x) (y y))))
-  (origs (n (0 2))))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 0) (1 0)))
-  (absent (y (exp (gen) x-0)))
-  (neq ((exp (gen) (mul (rec x) y x-0)) (gen)) ((exp (gen) x-0) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0))))
-  (label 4)
-  (parent 1)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (neq (h (gen)) ((exp (gen) (mul (rec x) y y-0)) (gen))
-    ((exp (gen) y-0) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 5)
-  (parent 1)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h (exp hy y)) (x x))
-  (defstrand resp 3 (n n) (h (exp hy x)) (y y))
-  (deflistener (cat (exp hy (mul x (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y (exp hy x)))
-  (neq ((exp hy y) (gen)) ((exp hy x) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp hy (mul x (rec w))) w)) (exp hy x) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp hy y))
-      (send (enc n (exp hy (mul x y)))))
-    ((recv (exp hy x)) (send (exp (gen) y))
-      (recv (enc n (exp hy (mul x y)))))
-    ((recv (cat (exp hy (mul x (rec w))) w))
-      (send (cat (exp hy (mul x (rec w))) w))))
-  (label 6)
-  (parent 1)
-  (unrealized (0 1) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hx hy base) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h hx) (y y))
-  (deflistener (exp hx y))
-  (deflistener (cat (exp hx (mul y (rec w))) w))
-  (precedes ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y hx))
-  (neq (hx (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp hx (mul y (rec w))) w)) (exp hx y) (2 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv hx) (send (exp (gen) y)) (recv (enc n (exp hx y))))
-    ((recv (exp hx y)) (send (exp hx y)))
-    ((recv (cat (exp hx (mul y (rec w))) w))
-      (send (cat (exp hx (mul y (rec w))) w))))
-  (label 7)
-  (parent 2)
-  (unrealized (1 2) (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (neq ((exp (gen) (mul (rec x) y x-0)) (gen)) ((exp (gen) x-0) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))
-    (exp (gen) (mul (rec x) y x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))))
-  (label 8)
-  (parent 4)
-  (unrealized (3 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (neq (h (gen)) ((exp (gen) (mul (rec x) y y-0)) (gen))
-    ((exp (gen) y-0) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))
-    (exp (gen) (mul (rec x) y y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))))
-  (label 9)
-  (parent 5)
-  (unrealized (3 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) (mul (rec x) y w)) (gen)) ((exp (gen) w) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (hy (exp (gen) (mul (rec x) w))))
-    (gen) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w)))
-      (send (enc n (exp (gen) (mul y w)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w)))))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 10)
-  (parent 6)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y w))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (neq ((exp (gen) (mul y w)) (gen)) ((exp (gen) (mul w x)) (gen)))
-  (pen-non-orig y x)
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y w)))
-      (send (enc n (exp (gen) (mul y w x)))))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w x)))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 11)
-  (parent 6)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (neq ((exp (gen) (mul (rec x) y w x-0)) (gen))
-    ((exp (gen) (mul w x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w x-0)))
-      (send (enc n (exp (gen) (mul y w x-0)))))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w x-0)))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 12)
-  (parent 6)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)))
-  (absent (y-0 h) (y (exp (gen) (mul w y-0))))
-  (neq (h (gen)) ((exp (gen) (mul (rec x) y w y-0)) (gen))
-    ((exp (gen) (mul w y-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w y-0)))
-      (send (enc n (exp (gen) (mul y w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w y-0)))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 13)
-  (parent 6)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (hx (exp (gen) w)) (y-0 y) (w (mul w y))) (gen) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 14)
-  (parent 7)
-  (unrealized (1 2) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (neq ((exp (gen) (mul w x)) (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x y)))))
-    ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))))
-  (label 15)
-  (parent 7)
-  (unrealized (1 2) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (exp (gen) (mul w x-0 y)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 0) (1 0)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (neq ((exp (gen) (mul w x-0)) (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x-0 y)))))
-    ((recv (exp (gen) (mul w x-0 y))) (send (exp (gen) (mul w x-0 y))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0))))
-  (label 16)
-  (parent 7)
-  (unrealized (1 2) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 17)
-  (parent 7)
-  (unrealized (1 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (neq (h (gen)) ((exp (gen) (mul w y)) (gen)) (hy (gen)))
-  (pen-non-orig x y-0)
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y y-0)))))
-    ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 18)
-  (parent 7)
-  (unrealized (1 2) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) y x-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (neq ((exp (gen) (mul (rec x) y x-0)) (gen)) ((exp (gen) x-0) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (x-2 x-0) (w (mul (rec x) y x-0))) (gen)
-    (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul (rec x) y x-0)))
-      (send (cat (gen) (mul (rec x) y x-0)))))
-  (label 19)
-  (parent 8)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (neq ((exp (gen) (mul y x (rec x-0))) (gen)) ((exp (gen) x) (gen)))
-  (pen-non-orig y x-0)
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul y x (rec x-0))))
-      (send (enc n (exp (gen) (mul y x)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x))))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))))
-  (label 20)
-  (parent 8)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (neq ((exp (gen) (mul (rec x) y x-0)) (gen)) ((exp (gen) x-0) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y)))
-      (send (cat (exp (gen) x-0) (mul (rec x) y)))))
-  (label 21)
-  (parent 8)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)) ((4 0) (3 0)))
-  (absent (y (exp (gen) x-0)))
-  (neq ((exp (gen) (mul (rec x) y x-0)) (gen)) ((exp (gen) x-0) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 22)
-  (parent 8)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (neq ((exp (gen) x-0) (gen)) ((exp (gen) (mul (rec x) x-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0 y)))
-      (send (enc n (exp (gen) (mul x-0 y)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x-0 y))))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
-      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
-  (label 23)
-  (parent 8)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 0) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-0 h) (y (exp (gen) x-0)))
-  (neq (h (gen)) ((exp (gen) (mul (rec x) y x-0)) (gen))
-    ((exp (gen) x-0) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0))))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 24)
-  (parent 8)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul (rec x) y y-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (neq (h (gen)) ((exp (gen) (mul (rec x) y y-0)) (gen))
-    ((exp (gen) y-0) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (y-2 y-0) (w (mul (rec x) y y-0))) (gen)
-    (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul (rec x) y y-0)))
-      (send (cat (gen) (mul (rec x) y y-0)))))
-  (label 25)
-  (parent 9)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul y y-0 (rec x) (rec x))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (neq (h (gen)) ((exp (gen) (mul y y-0 (rec x))) (gen))
-    ((exp (gen) y-0) (gen)))
-  (pen-non-orig y x)
-  (precur (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y y-0 (rec x))))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul y y-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y y-0 (rec x) (rec x))))))
-  (label 26)
-  (parent 9)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (3 0)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (neq (h (gen)) ((exp (gen) (mul (rec x) y y-0)) (gen))
-    ((exp (gen) y-0) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 27)
-  (parent 9)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y)) (y y-0))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y-0 (exp (gen) y)) (y h))
-  (neq ((exp (gen) y) (gen)) (h (gen))
-    ((exp (gen) (mul (rec x) y y-0)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y)))
-      (send (cat (exp (gen) y-0) (mul (rec x) y)))))
-  (label 28)
-  (parent 9)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (neq (h (gen)) ((exp (gen) (mul (rec x) y y-0)) (gen))
-    ((exp (gen) y-0) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 resp 2) (exp (gen) y-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y)))
-      (send (cat (exp (gen) y-0) (mul (rec x) y)))))
-  (label 29)
-  (parent 9)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (x y y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) y-0)))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) (mul (rec x) y y-0)) (gen))
-    ((exp (gen) y-0) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 30)
-  (parent 9)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y (exp (gen) x)))
-  (neq ((exp (gen) x) (gen)) ((exp (gen) y) (gen)))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (gen) x)) (send (cat (gen) x))))
-  (label 31)
-  (parent 10)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) (mul (rec x) y w)) (gen)) ((exp (gen) w) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w)))
-      (send (enc n (exp (gen) (mul y w)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w)))))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))))
-  (label 32)
-  (parent 10)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y w))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x))) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)))
-  (absent (y (exp (gen) (mul w x))))
-  (neq ((exp (gen) (mul y w)) (gen)) ((exp (gen) (mul w x)) (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y w)))
-      (send (enc n (exp (gen) (mul y w x)))))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w x))))))
-  (label 33)
-  (parent 11)
-  (unrealized)
-  (shape)
-  (maps
-    ((0 1)
-      ((n n) (hx (exp (gen) (mul w x))) (hy (exp (gen) (mul y w))) (x x)
-        (y y))))
-  (origs (n (0 2))))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)))
-  (absent (y (exp (gen) x)))
-  (neq ((exp (gen) x) (gen)) ((exp (gen) y) (gen)))
-  (pen-non-orig x y)
-  (precur (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 34)
-  (parent 12)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn) (w expr) (x-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (neq ((exp (gen) (mul (rec x) y w x-0)) (gen))
-    ((exp (gen) (mul w x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w x-0)))
-      (send (enc n (exp (gen) (mul y w x-0)))))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w x-0)))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))))
-  (label 35)
-  (parent 12)
-  (unrealized (4 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y h))
-  (neq ((exp (gen) x) (gen)) (h (gen)) ((exp (gen) y-0) (gen)))
-  (pen-non-orig x y-0)
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 36)
-  (parent 13)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) (mul w y-0))))
-  (neq (h (gen)) ((exp (gen) (mul (rec x) y w y-0)) (gen))
-    ((exp (gen) (mul w y-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w y-0)))
-      (send (enc n (exp (gen) (mul y w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w y-0)))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))))
-  (label 37)
-  (parent 13)
-  (unrealized (4 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (3 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 38)
-  (parent 14)
-  (unrealized (1 2) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (neq ((exp (gen) (mul w x)) (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x y)))))
-    ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((recv y) (send y)))
-  (label 39)
-  (parent 15)
-  (unrealized (1 2) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (exp (gen) (mul w x-0 y)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 0) (1 0)) ((5 1) (3 0)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (neq ((exp (gen) (mul w x-0)) (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x-0 y)))))
-    ((recv (exp (gen) (mul w x-0 y))) (send (exp (gen) (mul w x-0 y))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0)))
-    ((recv y) (send y)))
-  (label 40)
-  (parent 16)
-  (unrealized (1 2) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) w y)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (hy (exp (gen) (mul (rec x) w y))))
-    n (1 2) (enc n (exp (gen) (mul w y))))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w y)))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 41)
-  (parent 17)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp hy x))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener (exp hy x)) n (1 2)
-    (enc n (exp hy x)))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp hy x)) (send (exp hy x))))
-  (label 42)
-  (parent 17)
-  (unrealized (4 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 0)) ((5 1) (3 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (neq (h (gen)) ((exp (gen) (mul w y)) (gen)) (hy (gen)))
-  (pen-non-orig x y-0)
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (3 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y y-0)))))
-    ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 43)
-  (parent 18)
-  (unrealized (1 2) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (neq ((exp (gen) (mul w y)) (gen)) ((exp (gen) (mul x w)) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test
-    (contracted (x-0 x) (y-0 y) (w-0 (mul x w)) (w-1 (mul w y)) (y-1 y)
-      (w (mul w y))) (gen) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 44)
-  (parent 32)
-  (unrealized (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul w x x))))
-  (neq ((exp (gen) (mul w x y)) (gen)) ((exp (gen) (mul w x x)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x x y)))))
-    ((recv (cat (gen) (mul w x x))) (send (cat (gen) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))))
-  (label 45)
-  (parent 32)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (neq ((exp (gen) (mul w x-0 y)) (gen))
-    ((exp (gen) (mul x w x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (cat (gen) (mul x w x-0))) (send (cat (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0))))
-  (label 46)
-  (parent 32)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (neq ((exp (gen) (mul x w)) (gen)) ((exp (gen) (mul w y)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 47)
-  (parent 32)
-  (unrealized (2 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (neq (h (gen)) ((exp (gen) (mul w y y-0)) (gen))
-    ((exp (gen) (mul x w y)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (3 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (gen) (mul x w y))) (send (cat (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 48)
-  (parent 32)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (neq ((exp (gen) (mul w y)) (gen)) ((exp (gen) (mul x w)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (w-0 (mul x (rec x-0) w)) (x-2 x-0)
-      (w-1 (mul w y)) (y-1 y) (w (mul w y))) (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 49)
-  (parent 35)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0 x-0))) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul w x-0 x-0))))
-  (neq ((exp (gen) (mul w x-0 y)) (gen))
-    ((exp (gen) (mul w x-0 x-0)) (gen)))
-  (pen-non-orig x-0 y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul w x-0 x-0 y)))))
-    ((recv (exp (gen) (mul w x-0 x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x-0 x-0 y)))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))))
-  (label 50)
-  (parent 35)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (neq ((exp (gen) (mul w x-0 y)) (gen))
-    ((exp (gen) (mul x w x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))))
-  (label 51)
-  (parent 35)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (x-1 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-1 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-1))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w y)))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)))
-  (absent (y (exp (gen) (mul x w x-1))))
-  (neq ((exp (gen) (mul w x-1 y)) (gen))
-    ((exp (gen) (mul x w x-1)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-1 y)))
-      (send (enc n (exp (gen) (mul x w x-1 y)))))
-    ((recv (exp (gen) (mul x w x-1))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-1 y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w x-1))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w y)))
-      (send (cat (exp (gen) x-1) (mul w y)))) ((send (exp (gen) x-1))))
-  (label 52)
-  (parent 35)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (neq ((exp (gen) (mul x w)) (gen)) ((exp (gen) (mul w y)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 53)
-  (parent 35)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (neq (h (gen)) ((exp (gen) (mul w y y-0)) (gen))
-    ((exp (gen) (mul x w y)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 54)
-  (parent 35)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul x w))))
-  (neq (h (gen)) ((exp (gen) (mul w y-0)) (gen))
-    ((exp (gen) (mul x w)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w-0 (mul x (rec y) w)) (y-2 y)
-      (w-1 (mul w y-0)) (y-3 y-0) (w (mul w y-0))) (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul w y-0))) (send (cat (gen) (mul w y-0)))))
-  (label 55)
-  (parent 37)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul w x x))))
-  (neq (h (gen)) ((exp (gen) (mul w x y-0)) (gen))
-    ((exp (gen) (mul w x x)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y-0)))
-      (send (enc n (exp (gen) (mul w x x y-0)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w x x y-0)))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x x))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w y-0)))
-      (send (cat (exp (gen) x) (mul w y-0)))))
-  (label 56)
-  (parent 37)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w x-0))))
-  (neq (h (gen)) ((exp (gen) (mul w x-0 y-0)) (gen))
-    ((exp (gen) (mul x w x-0)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w x-0 y-0)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w x-0 y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w x-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul w y-0)))
-      (send (cat (exp (gen) x-0) (mul w y-0))))
-    ((send (exp (gen) x-0))))
-  (label 57)
-  (parent 37)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 (exp (gen) (mul x w))) (y h))
-  (neq ((exp (gen) (mul x w)) (gen)) (h (gen))
-    ((exp (gen) (mul w y-0)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w))))
-  (label 58)
-  (parent 37)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (neq (h (gen)) ((exp (gen) (mul w y y-0)) (gen))
-    ((exp (gen) (mul x w y)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 resp 2) (exp (gen) y-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))))
-  (label 59)
-  (parent 37)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y-0))) (y y-1))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y-0 h-0) (y h) (y-1 (exp (gen) (mul x w y-0))))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) (mul w y-0 y-1)) (gen))
-    ((exp (gen) (mul x w y-0)) (gen)))
-  (pen-non-orig x y-1)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w y-0 y-1)))))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y-1))
-      (recv (enc n (exp (gen) (mul x w y-0 y-1)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w y-1)))
-      (send (cat (exp (gen) y-0) (mul w y-1))))
-    ((recv h-0) (send (exp (gen) y-0))))
-  (label 60)
-  (parent 37)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (neq ((exp (gen) x) (gen)) ((exp (gen) y) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 61)
-  (parent 41)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) w y)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w y)))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))))
-  (label 62)
-  (parent 41)
-  (unrealized (4 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (hy (exp (gen) (rec x)))) (gen)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen))))
-  (label 63)
-  (parent 42)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (0 1)) ((5 0) (4 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0))))
-  (label 64)
-  (parent 42)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y))))
-  (label 65)
-  (parent 42)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 66)
-  (parent 42)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (hy base) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h hy) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp hy x))
-  (deflistener (cat (exp hy (mul x (rec w-0))) w-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) (hy (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp hy (mul x (rec w-0))) w-0)) (exp hy x)
-    (4 0))
-  (traces ((send (exp (gen) x)) (recv hy) (send (enc n (exp hy x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp hy x)) (send (exp hy x)))
-    ((recv (cat (exp hy (mul x (rec w-0))) w-0))
-      (send (cat (exp hy (mul x (rec w-0))) w-0))))
-  (label 67)
-  (parent 42)
-  (unrealized (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (neq ((exp (gen) (mul w y)) (gen)) ((exp (gen) (mul x w)) (gen)))
-  (pen-non-orig x y)
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 68)
-  (parent 44)
-  (unrealized (2 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (exp (gen) (mul w x x))))
-  (neq ((exp (gen) (mul w x y)) (gen)) ((exp (gen) (mul w x x)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x x y)))))
-    ((recv (cat (gen) (mul w x x))) (send (cat (gen) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((recv y) (send y)))
-  (label 69)
-  (parent 45)
-  (unrealized (1 0) (2 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((5 1) (3 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (neq ((exp (gen) (mul w x-0 y)) (gen))
-    ((exp (gen) (mul x w x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (cat (gen) (mul x w x-0))) (send (cat (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0)))
-    ((recv y) (send y)))
-  (label 70)
-  (parent 46)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (x w) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w) w (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))))
-  (label 71)
-  (parent 47)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (neq ((exp (gen) (mul x w)) (gen)) ((exp (gen) (mul w y)) (gen)))
-  (pen-non-orig x y)
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv x) (send x)))
-  (label 72)
-  (parent 47)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((5 1) (3 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (neq (h (gen)) ((exp (gen) (mul w y y-0)) (gen))
-    ((exp (gen) (mul x w y)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (3 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (gen) (mul x w y))) (send (cat (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 73)
-  (parent 48)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (neq ((exp (gen) (mul w y)) (gen)) ((exp (gen) (mul x w)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 74)
-  (parent 49)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x-0 x-0))) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul w x-0 x-0))))
-  (neq ((exp (gen) (mul w x-0 y)) (gen))
-    ((exp (gen) (mul w x-0 x-0)) (gen)))
-  (pen-non-orig x-0 y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul w x-0 x-0 y)))))
-    ((recv (exp (gen) (mul w x-0 x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x-0 x-0 y)))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((recv y) (send y)))
-  (label 75)
-  (parent 50)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (neq ((exp (gen) (mul w x-0 y)) (gen))
-    ((exp (gen) (mul x w x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((recv y) (send y)))
-  (label 76)
-  (parent 51)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x x-0 expn) (w expr) (x-1 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-1 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-1))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w y)))
-  (defstrand init 1 (x x-1))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)) ((6 1) (4 0)))
-  (absent (y (exp (gen) (mul x w x-1))))
-  (neq ((exp (gen) (mul w x-1 y)) (gen))
-    ((exp (gen) (mul x w x-1)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-1 y)))
-      (send (enc n (exp (gen) (mul x w x-1 y)))))
-    ((recv (exp (gen) (mul x w x-1))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-1 y)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w x-1))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w y)))
-      (send (cat (exp (gen) x-1) (mul w y)))) ((send (exp (gen) x-1)))
-    ((recv y) (send y)))
-  (label 77)
-  (parent 52)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) x-0)) (y y))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (neq ((exp (gen) x-0) (gen)) ((exp (gen) (mul y (rec x) x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (4 0) (2 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0))) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x) x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0)))))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
-      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
-  (label 78)
-  (parent 53)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (x-0 (mul (rec x) w)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w y (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w))
-    (mul (rec x) w) (2 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y (rec x-0))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w (rec x-0))))
-      (send (cat (exp (gen) y) (mul w (rec x-0))))))
-  (label 79)
-  (parent 53)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (x-0 (mul x w)) (y (exp (gen) (mul x w x-0))))
-  (neq ((exp (gen) (mul x w x-0)) (gen))
-    ((exp (gen) (mul w y x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w)) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y x-0)))
-      (send (enc n (exp (gen) (mul x w y x-0)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y x-0)))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w x-0)))
-      (send (cat (exp (gen) y) (mul w x-0)))))
-  (label 80)
-  (parent 53)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)) ((6 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (neq (h (gen)) ((exp (gen) (mul w y y-0)) (gen))
-    ((exp (gen) (mul x w y)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 81)
-  (parent 54)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w))))
-  (neq (h (gen)) ((exp (gen) (mul w y-0)) (gen))
-    ((exp (gen) (mul x w)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul w y-0))) (send (cat (gen) (mul w y-0))))
-    ((recv y-0) (send y-0)))
-  (label 82)
-  (parent 55)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w x x))))
-  (neq (h (gen)) ((exp (gen) (mul w x y-0)) (gen))
-    ((exp (gen) (mul w x x)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y-0)))
-      (send (enc n (exp (gen) (mul w x x y-0)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w x x y-0)))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x x))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w y-0)))
-      (send (cat (exp (gen) x) (mul w y-0)))) ((recv y-0) (send y-0)))
-  (label 83)
-  (parent 56)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)) ((6 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w x-0))))
-  (neq (h (gen)) ((exp (gen) (mul w x-0 y-0)) (gen))
-    ((exp (gen) (mul x w x-0)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w x-0 y-0)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w x-0 y-0)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w x-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul w y-0)))
-      (send (cat (exp (gen) x-0) (mul w y-0)))) ((send (exp (gen) x-0)))
-    ((recv y-0) (send y-0)))
-  (label 84)
-  (parent 57)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) y-0)) (y y))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) y-0)) (y-0 h))
-  (neq ((exp (gen) y-0) (gen)) (h (gen))
-    ((exp (gen) (mul y (rec x) y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w (mul (rec x) y-0))) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x) y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) y-0)))
-      (send (cat (exp (gen) y) (mul (rec x) y-0)))))
-  (label 85)
-  (parent 58)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (x (mul (rec y) w)) (y-0 (exp (gen) w)) (y h))
-  (neq ((exp (gen) w) (gen)) (h (gen))
-    ((exp (gen) (mul w y-0 (rec x))) (gen)))
-  (pen-non-orig y-0 x)
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w))
-    (mul (rec y) w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x))))))
-  (label 86)
-  (parent 58)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 (mul x w)) (y (exp (gen) (mul x w y-0))) (y-0 h))
-  (neq ((exp (gen) (mul x w y-0)) (gen)) (h (gen))
-    ((exp (gen) (mul w y y-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w)) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) y-0) (mul x w)))
-      (send (cat (exp (gen) y-0) (mul x w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))))
-  (label 87)
-  (parent 58)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (neq (h (gen)) ((exp (gen) (mul w y y-0)) (gen))
-    ((exp (gen) (mul x w y)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))) ((recv y-0) (send y-0)))
-  (label 88)
-  (parent 59)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y-0))) (y y-1))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (deflistener y-1)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)) ((6 1) (4 0)))
-  (absent (y-0 h-0) (y h) (y-1 (exp (gen) (mul x w y-0))))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) (mul w y-0 y-1)) (gen))
-    ((exp (gen) (mul x w y-0)) (gen)))
-  (pen-non-orig x y-1)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-1) (mul w y-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w y-0 y-1)))))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y-1))
-      (recv (enc n (exp (gen) (mul x w y-0 y-1)))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w y-1)))
-      (send (cat (exp (gen) y-0) (mul w y-1))))
-    ((recv h-0) (send (exp (gen) y-0))) ((recv y-1) (send y-1)))
-  (label 89)
-  (parent 60)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (neq ((exp (gen) (mul x w)) (gen)) ((exp (gen) (mul w y)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul x w)) (y-0 y) (w-1 (mul w y)) (y-1 y)
-      (w (mul w y))) (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 90)
-  (parent 62)
-  (unrealized (2 0) (3 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (exp (gen) (mul w x x y)))
-  (deflistener (cat (exp (gen) y) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul w x x))))
-  (neq ((exp (gen) (mul w x x)) (gen)) ((exp (gen) (mul w x y)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x y))) (send (exp (gen) (mul w x x y))))
-    ((recv (cat (exp (gen) y) (mul w x x)))
-      (send (cat (exp (gen) y) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))))
-  (label 91)
-  (parent 62)
-  (unrealized (0 1) (1 0) (2 0) (3 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (exp (gen) (mul x w x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (1 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (neq ((exp (gen) (mul x w x-0)) (gen))
-    ((exp (gen) (mul w x-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0 y)))
-      (send (exp (gen) (mul x w x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w x-0)))
-      (send (cat (exp (gen) y) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0))))
-  (label 92)
-  (parent 62)
-  (unrealized (0 1) (1 0) (2 0) (3 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (neq ((exp (gen) (mul x w)) (gen)) ((exp (gen) (mul w y)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 93)
-  (parent 62)
-  (unrealized (2 0) (3 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (1 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (neq (h (gen)) ((exp (gen) (mul x w y)) (gen))
-    ((exp (gen) (mul w y y-0)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y y-0)))
-      (send (exp (gen) (mul x w y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w y)))
-      (send (cat (exp (gen) y-0) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 94)
-  (parent 62)
-  (unrealized (0 1) (1 0) (2 0) (3 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) (mul (rec x) (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) (rec w-0))) w-0))
-    (exp (gen) (rec x)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) (mul (rec x) (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) (rec w-0))) w-0))))
-  (label 95)
-  (parent 63)
-  (unrealized (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) x-0 (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) x-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) x-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) x-0 (rec w-0))) w-0))))
-  (label 96)
-  (parent 64)
-  (unrealized (6 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) (mul (rec x) y (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) (mul (rec x) y (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y (rec w-0))) w-0))))
-  (label 97)
-  (parent 65)
-  (unrealized (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y-0 (rec w-0))) w-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y-0 (rec w-0))) w-0))))
-  (label 98)
-  (parent 66)
-  (unrealized (6 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) w-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (hy (exp (gen) (mul (rec x) w-0))))
-    (gen) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0)))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))))
-  (label 99)
-  (parent 67)
-  (unrealized (0 1))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 100)
-  (parent 67)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) w-0 x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 x-0)))
-      (send (enc n (exp (gen) (mul w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x-0))) (send (exp (gen) (mul w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((send (exp (gen) x-0))))
-  (label 101)
-  (parent 67)
-  (unrealized (0 1))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) w-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 y)))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0))))
-  (label 102)
-  (parent 67)
-  (unrealized (0 1))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y expn) (w-0 expr)
-    (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) w-0 y-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 y-0)))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 103)
-  (parent 67)
-  (unrealized (0 1))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (x w) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))) ((recv x) (send x)))
-  (label 104)
-  (parent 71)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (4 0))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x-0 (mul (rec x) w)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w y (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y (rec x-0))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w (rec x-0))))
-      (send (cat (exp (gen) y) (mul w (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 105)
-  (parent 79)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x-0 (mul x w)) (y (exp (gen) (mul x w x-0))))
-  (neq ((exp (gen) (mul x w x-0)) (gen))
-    ((exp (gen) (mul w y x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y x-0)))
-      (send (enc n (exp (gen) (mul x w y x-0)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y x-0)))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w x-0)))
-      (send (cat (exp (gen) y) (mul w x-0)))) ((recv x-0) (send x-0)))
-  (label 106)
-  (parent 80)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (4 0))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x (mul (rec y) w)) (y-0 (exp (gen) w)) (y h))
-  (neq ((exp (gen) w) (gen)) (h (gen))
-    ((exp (gen) (mul w y-0 (rec x))) (gen)))
-  (pen-non-orig y-0 x)
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x))))) ((recv x) (send x)))
-  (label 107)
-  (parent 86)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y-0 (mul x w)) (y (exp (gen) (mul x w y-0))) (y-0 h))
-  (neq ((exp (gen) (mul x w y-0)) (gen)) (h (gen))
-    ((exp (gen) (mul w y y-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (cat (exp (gen) y-0) (mul x w)))
-      (send (cat (exp (gen) y-0) (mul x w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))) ((recv y-0) (send y-0)))
-  (label 108)
-  (parent 87)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (5 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (neq ((exp (gen) (mul x w)) (gen)) ((exp (gen) (mul w y)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 109)
-  (parent 90)
-  (unrealized (2 0) (3 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (exp (gen) (mul w x x y)))
-  (deflistener (cat (exp (gen) y) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (5 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul w x x))))
-  (neq ((exp (gen) (mul w x x)) (gen)) ((exp (gen) (mul w x y)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x x y)))))
-    ((recv (exp (gen) (mul w x x y))) (send (exp (gen) (mul w x x y))))
-    ((recv (cat (exp (gen) y) (mul w x x)))
-      (send (cat (exp (gen) y) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((recv y) (send y)))
-  (label 110)
-  (parent 91)
-  (unrealized (1 0) (2 0) (3 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (exp (gen) (mul x w x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (6 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (1 0))
-    ((6 1) (4 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (neq ((exp (gen) (mul x w x-0)) (gen))
-    ((exp (gen) (mul w x-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))))
-    ((recv (exp (gen) (mul x w x-0 y)))
-      (send (exp (gen) (mul x w x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w x-0)))
-      (send (cat (exp (gen) y) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0)))
-    ((recv y) (send y)))
-  (label 111)
-  (parent 92)
-  (unrealized (1 0) (2 0) (3 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (4 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (x w) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (4 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w) w (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))))
-  (label 112)
-  (parent 93)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1))
-    ((5 1) (3 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (neq ((exp (gen) (mul x w)) (gen)) ((exp (gen) (mul w y)) (gen)))
-  (pen-non-orig x y)
-  (precur (4 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv x) (send x)))
-  (label 113)
-  (parent 93)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 1) (6 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (1 0))
-    ((6 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (neq (h (gen)) ((exp (gen) (mul x w y)) (gen))
-    ((exp (gen) (mul w y y-0)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (4 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))))
-    ((recv (exp (gen) (mul x w y y-0)))
-      (send (exp (gen) (mul x w y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w y)))
-      (send (cat (exp (gen) y-0) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 114)
-  (parent 94)
-  (unrealized (1 0) (2 0) (3 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (rec x)))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w-0 (rec x))) (gen) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x)))))
-  (label 115)
-  (parent 95)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x))))))
-  (label 116)
-  (parent 95)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 117)
-  (parent 95)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) y) (mul (rec x) (rec y))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) y) (mul (rec x) (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) (rec y))))))
-  (label 118)
-  (parent 95)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 119)
-  (parent 95)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) x-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w-0 (mul (rec x) x-0))) (gen) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul (rec x) x-0)))
-      (send (cat (gen) (mul (rec x) x-0)))))
-  (label 120)
-  (parent 96)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))))
-  (label 121)
-  (parent 96)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (rec x)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 5 init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (rec x)))
-      (send (cat (exp (gen) x-0) (rec x)))))
-  (label 122)
-  (parent 96)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 0) (6 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 123)
-  (parent 96)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 0) (4 0)) ((5 0) (6 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))))
-  (label 124)
-  (parent 96)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 125)
-  (parent 96)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-0 y) (w-0 (mul (rec x) y))) (gen) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul (rec x) y)))
-      (send (cat (gen) (mul (rec x) y)))))
-  (label 126)
-  (parent 97)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul y (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x) (rec x))))))
-  (label 127)
-  (parent 97)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)) ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 128)
-  (parent 97)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 129)
-  (parent 97)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 130)
-  (parent 97)
-  (unrealized (0 1) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul (rec x) y-0)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w-0 (mul (rec x) y-0))) (gen) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul (rec x) y-0)))
-      (send (cat (gen) (mul (rec x) y-0)))))
-  (label 131)
-  (parent 98)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul y-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))))
-  (label 132)
-  (parent 98)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 0) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 133)
-  (parent 98)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)) ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 (exp (gen) w)) (y h))
-  (neq ((exp (gen) w) (gen)) (h (gen))
-    ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (6 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))))
-  (label 134)
-  (parent 98)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 5 resp 2) (exp (gen) y-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))))
-  (label 135)
-  (parent 98)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) w)))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 136)
-  (parent 98)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) x) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x)))))
-  (label 137)
-  (parent 99)
-  (unrealized (4 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) x-0) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))))
-  (label 138)
-  (parent 99)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) y) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))))
-  (label 139)
-  (parent 99)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (gen) (mul x y-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) y-0) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (gen) (mul x y-0))) (send (cat (gen) (mul x y-0))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 140)
-  (parent 99)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 w-1 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w-0 (rec w-1))) w-1))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) w-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w-0 (rec w-1))) w-1))
-    (exp (gen) (mul (rec x) w-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0)))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0)))
-    ((recv (cat (exp (gen) (mul (rec x) w-0 (rec w-1))) w-1))
-      (send (cat (exp (gen) (mul (rec x) w-0 (rec w-1))) w-1))))
-  (label 141)
-  (parent 99)
-  (unrealized (6 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2))
-    ((3 1) (1 2)) ((4 1) (3 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 142)
-  (parent 100)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-0)))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) x-0) (gen)))
-  (pen-non-orig y x-0)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x-0 x-0))) (send (exp (gen) (mul x-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) x-0 x-0))))
-    ((send (exp (gen) x))))
-  (label 143)
-  (parent 101)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) x-0) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 6 init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))))
-  (label 144)
-  (parent 101)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-1)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand init 1 (x x-0))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)) ((7 0) (0 1)) ((7 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) x-1) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-1))
-      (send (enc n (exp (gen) (mul x x-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1))))
-    ((send (exp (gen) x-0))) ((send (exp (gen) x-1))))
-  (label 145)
-  (parent 101)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)) ((6 0) (0 1)) ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) y) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) y))))
-    ((send (exp (gen) x-0))))
-  (label 146)
-  (parent 101)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y-0)))
-  (defstrand init 1 (x x-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (0 1))
-    ((6 0) (5 0)) ((7 1) (0 1)) ((7 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) y-0) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) y-0))))
-    ((send (exp (gen) x-0))) ((recv h) (send (exp (gen) y-0))))
-  (label 147)
-  (parent 101)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w expr) (y expn) (w-0 expr) (x-0 expn)
-    (w-1 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w-0 x-0 (rec w-1))) w-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) w-0 x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) w-0 x-0 (rec w-1))) w-1))
-    (exp (gen) (mul (rec x) w-0 x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 x-0)))
-      (send (enc n (exp (gen) (mul w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x-0))) (send (exp (gen) (mul w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) w-0 x-0 (rec w-1))) w-1))
-      (send (cat (exp (gen) (mul (rec x) w-0 x-0 (rec w-1))) w-1))))
-  (label 148)
-  (parent 101)
-  (unrealized (7 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x)))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) x) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) x x)))
-      (send (cat (exp (gen) y) (mul (rec y) x x)))))
-  (label 149)
-  (parent 102)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)) ((6 0) (0 1)) ((6 0) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) x-0) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) x-0))))
-    ((send (exp (gen) x-0))))
-  (label 150)
-  (parent 102)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) y) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 6 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 151)
-  (parent 102)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)) ((6 1) (0 1)) ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) y-0) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) y-0))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 152)
-  (parent 102)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (x expn) (w w-0 expr) (y expn) (w-1 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w-0 y (rec w-1))) w-1))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) w-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w-0 y (rec w-1))) w-1))
-    (exp (gen) (mul (rec x) w-0 y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 y)))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0)))
-    ((recv (cat (exp (gen) (mul (rec x) w-0 y (rec w-1))) w-1))
-      (send (cat (exp (gen) (mul (rec x) w-0 y (rec w-1))) w-1))))
-  (label 153)
-  (parent 102)
-  (unrealized (6 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) x) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) x x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) x x))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 154)
-  (parent 103)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) x-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)) ((7 0) (0 1)) ((7 0) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) x-0) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) x-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) x-0))))
-    ((recv h) (send (exp (gen) y-0))) ((send (exp (gen) x-0))))
-  (label 155)
-  (parent 103)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 1) (4 0)) ((6 1) (0 1)) ((6 1) (5 0)))
-  (absent (y-0 (exp (gen) w)) (y h))
-  (neq ((exp (gen) w) (gen)) (h (gen)) ((exp (gen) y-0) (gen)))
-  (pen-non-orig x y-0)
-  (precur (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 156)
-  (parent 103)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y-0) x))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) y-0) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 6 resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y-0) x)) (send (cat (exp (gen) y-0) x)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 157)
-  (parent 103)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) y-1)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1))
-    ((6 1) (5 0)) ((7 1) (0 1)) ((7 1) (5 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) w)))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) y-1) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-1))
-      (send (enc n (exp (gen) (mul x y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x y-1))) (send (exp (gen) (mul x y-1))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) y-1)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 158)
-  (parent 103)
-  (unrealized (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (x expn) (w expr) (y expn) (w-0 expr)
-    (y-0 expn) (w-1 expr))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w-0 y-0 (rec w-1))) w-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) w-0 y-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) w-0 y-0 (rec w-1))) w-1))
-    (exp (gen) (mul (rec x) w-0 y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w-0 y-0)))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) w-0 y-0 (rec w-1))) w-1))
-      (send (cat (exp (gen) (mul (rec x) w-0 y-0 (rec w-1))) w-1))))
-  (label 159)
-  (parent 103)
-  (unrealized (7 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (0 1))
-    ((5 1) (4 0)))
-  (absent (x w) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (4 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))) ((recv x) (send x)))
-  (label 160)
-  (parent 112)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x))))
-    ((recv x) (send x)))
-  (label 161)
-  (parent 115)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 1))
-    ((6 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul (rec x) (rec x)) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 162)
-  (parent 116)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 0) (4 0))
-    ((5 0) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (rec x)))
-      (send (cat (exp (gen) x-0) (rec x)))) ((recv x) (send x)))
-  (label 163)
-  (parent 122)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (4 0)) ((1 1) (5 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 1)) ((6 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y)
-  (precur (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 164)
-  (parent 129)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((5 1) (6 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))) ((recv x) (send x)))
-  (label 165)
-  (parent 135)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) x)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (deflistener x)
-  (precedes ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) x) (gen)))
-  (pen-non-orig y x)
-  (precur (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x))))
-    ((recv x) (send x)))
-  (label 166)
-  (parent 137)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (gen) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w-1 (mul x w-0)) (w-2 w-0))
-    (gen) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))))
-  (label 167)
-  (parent 141)
-  (unrealized (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x)))
-  (deflistener (cat (gen) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x)))
-      (send (enc n (exp (gen) (mul w-0 x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x))) (send (exp (gen) (mul w-0 x x))))
-    ((recv (cat (gen) (mul w-0 x x))) (send (cat (gen) (mul w-0 x x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 168)
-  (parent 141)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (6 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (gen) (mul x w-0 x-0)))
-      (send (cat (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((send (exp (gen) x-0))))
-  (label 169)
-  (parent 141)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (gen) (mul x w-0 y))) (send (cat (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0))))
-  (label 170)
-  (parent 141)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (gen) (mul x w-0 y-0)))
-      (send (cat (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 171)
-  (parent 141)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (3 0)) ((0 2) (1 2)) ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 172)
-  (parent 142)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w-1 (mul x (rec x-0) w-0)) (x-2 x-0) (w-2 w-0))
-    (gen) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))))
-  (label 173)
-  (parent 148)
-  (unrealized (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-0)) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 0 init 1) (exp (gen) x-1) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul w-0 x-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x-0 x-0)))
-      (send (exp (gen) (mul w-0 x-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 x-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0))))
-  (label 174)
-  (parent 148)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 6 init 1) (exp (gen) x-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0))))
-  (label 175)
-  (parent 148)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn) (w-0 expr) (x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0 x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) w-0))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-1)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-1)))
-      (send (enc n (exp (gen) (mul x w-0 x-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-1)))
-      (send (exp (gen) (mul x w-0 x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0 x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0 x-1))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) w-0)) (send (cat (exp (gen) x-1) w-0)))
-    ((send (exp (gen) x-1))))
-  (label 176)
-  (parent 148)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 1 resp 2) (exp (gen) y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0))))
-  (label 177)
-  (parent 148)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0 y-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 178)
-  (parent 148)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (deflistener (cat (gen) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-1 (mul x (rec y) w-0)) (y-0 y) (w-2 w-0))
-    (gen) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))))
-  (label 179)
-  (parent 153)
-  (unrealized (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 x x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x)))
-      (send (enc n (exp (gen) (mul w-0 x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x))) (send (exp (gen) (mul w-0 x x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 x x)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 x x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 180)
-  (parent 153)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0 x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((send (exp (gen) x-0))))
-  (label 181)
-  (parent 153)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 7 1 resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0)))
-      (send (cat (exp (gen) y) (mul x w-0))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0))))
-  (label 182)
-  (parent 153)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 183)
-  (parent 153)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-1 (mul x (rec y-0) w-0)) (y-1 y-0) (w-2 w-0))
-    (gen) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))))
-  (label 184)
-  (parent 159)
-  (unrealized (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0 x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 0 init 1) (exp (gen) x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x)))
-      (send (enc n (exp (gen) (mul w-0 x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x))) (send (exp (gen) (mul w-0 x x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0 x x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0 x x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 185)
-  (parent 159)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0 x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0 x-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0 x-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((send (exp (gen) x-0))))
-  (label 186)
-  (parent 159)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0 y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)))
-  (absent (y-0 (exp (gen) w)) (y h))
-  (neq ((exp (gen) w) (gen)) (h (gen))
-    ((exp (gen) (mul w-0 y-0)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 1 resp 2) (exp (gen) y-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0 y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0))))
-  (label 187)
-  (parent 159)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 8 6 resp 2) (exp (gen) y-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0))))
-  (label 188)
-  (parent 159)
-  (unrealized (4 0) (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 expn) (w-0 expr)
-    (y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0 y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) w-0))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) w)))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-1)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-1)))
-      (send (enc n (exp (gen) (mul x w-0 y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-1)))
-      (send (exp (gen) (mul x w-0 y-1))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0 y-1)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0 y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) w-0)) (send (cat (exp (gen) y-1) w-0)))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 189)
-  (parent 159)
-  (unrealized (4 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (gen) (rec x)))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w-0 (rec x))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x)))))
-  (label 190)
-  (parent 167)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w-0) w-0 (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0)))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))))
-  (label 191)
-  (parent 167)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (gen) w-0))
-  (deflistener x)
-  (precedes ((0 0) (6 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0))) ((recv x) (send x)))
-  (label 192)
-  (parent 167)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (w-0 (mul (rec x) (rec x))) (x-0 x))
-    (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x))))))
-  (label 193)
-  (parent 168)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w-0) w-0 (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))))
-  (label 194)
-  (parent 168)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x)))
-  (deflistener (cat (gen) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (deflistener x)
-  (precedes ((0 0) (6 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 x x) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x)))
-      (send (enc n (exp (gen) (mul w-0 x x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x))) (send (exp (gen) (mul w-0 x x))))
-    ((recv (cat (gen) (mul w-0 x x))) (send (cat (gen) (mul w-0 x x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0)))
-    ((recv x) (send x)))
-  (label 195)
-  (parent 168)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (6 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w-0 (mul (rec x) (rec x-0))) (x-2 x-0)) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 196)
-  (parent 169)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (6 0)))
-  (absent (x-0 (mul w-0 x)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul w-0 x)) (mul w-0 x)
-    (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (gen) (mul w-0 x))) (send (cat (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))))
-  (label 197)
-  (parent 169)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (6 0)))
-  (absent (x-0 (mul x w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w-0)) (mul x w-0)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 198)
-  (parent 169)
-  (unrealized (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y) (mul (rec x) (rec y))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul (rec x) (rec y))) (y-0 y)) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) y) (mul (rec x) (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) (rec y))))))
-  (label 199)
-  (parent 170)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (x (mul w-0 y)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul w-0 y)) (mul w-0 y) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (gen) (mul w-0 y))) (send (cat (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x))))))
-  (label 200)
-  (parent 170)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec y))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (mul x w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w-0)) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec y))))
-      (send (cat (exp (gen) y) (mul w-0 (rec y))))))
-  (label 201)
-  (parent 170)
-  (unrealized (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul (rec x) (rec y-0))) (y-1 y-0)) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 202)
-  (parent 171)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (6 0)))
-  (absent (x (mul w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul w-0 y-0)) (mul w-0 y-0)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (gen) (mul w-0 y-0))) (send (cat (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 203)
-  (parent 171)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (6 0)))
-  (absent (y-0 (mul x w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w-0)) (mul x w-0)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 204)
-  (parent 171)
-  (unrealized (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) x) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((2 1) (1 2)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0))))
-  (label 205)
-  (parent 172)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) x-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w-0 (mul (rec x) x-0))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul (rec x) x-0)))
-      (send (cat (gen) (mul (rec x) x-0)))))
-  (label 206)
-  (parent 173)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (gen) (mul w-0 (rec x-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (x-0 (mul (rec x) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w-0))
-    (mul (rec x) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 (rec x-0))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (gen) (mul w-0 (rec x-0))))
-      (send (cat (gen) (mul w-0 (rec x-0))))))
-  (label 207)
-  (parent 173)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w-0 x-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (x-0 (mul x w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w-0)) (mul x w-0)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w-0 x-0))) (send (cat (gen) (mul w-0 x-0)))))
-  (label 208)
-  (parent 173)
-  (unrealized (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w-0 (mul x (rec x-0) (rec x-0))) (x-2 x-0))
-    (one) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))))
-  (label 209)
-  (parent 174)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 x x)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 x-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (x-0 (mul w-0 x x)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul w-0 x x)) (mul w-0 x x)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x x-0)))
-      (send (enc n (exp (gen) (mul w-0 x x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x x-0)))
-      (send (exp (gen) (mul w-0 x x x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 x x)))
-      (send (cat (exp (gen) x-0) (mul w-0 x x))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 x-0)))
-      (send (cat (exp (gen) x) (mul w-0 x-0)))))
-  (label 210)
-  (parent 174)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (x-0 (mul (rec x) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w-0))
-    (mul (rec x) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 (rec x-0))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0))))))
-  (label 211)
-  (parent 174)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (rec x-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-1 x-0) (w-0 (rec x-0))) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (rec x-0)))
-      (send (cat (exp (gen) x) (rec x-0)))))
-  (label 212)
-  (parent 175)
-  (unrealized (0 1) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)))
-  (absent (x-0 w-0) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 w-0) w-0 (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0)))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0))))))
-  (label 213)
-  (parent 175)
-  (unrealized (0 1) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) w-0))
-  (deflistener x)
-  (precedes ((0 0) (7 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) w-0)) (send (cat (exp (gen) x-0) w-0)))
-    ((recv x) (send x)))
-  (label 214)
-  (parent 175)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-2 x) (x-3 x-0) (w-0 (mul (rec x) x-0 (rec x-1)))
-      (x-4 x-1)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 215)
-  (parent 176)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 (rec x-1))))
-    (x x-1))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-1))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (x-1 (mul (rec x) w-0 x-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 x-0 (rec x-1))) (gen)))
-  (pen-non-orig y x-1)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-1 (mul (rec x) w-0 x-0))
-    (mul (rec x) w-0 x-0) (5 0))
-  (traces
-    ((send (exp (gen) x-1)) (recv (exp (gen) (mul w-0 x-0 (rec x-1))))
-      (send (enc n (exp (gen) (mul w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x-0))) (send (exp (gen) (mul w-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-1))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-1)))))
-    ((send (exp (gen) x-0))))
-  (label 216)
-  (parent 176)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 x-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) (mul x w-0 x-0)))
-  (defstrand init 1 (x x-1))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 x-1)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (x-1 (mul x w-0 x-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-0 x-1)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-1 (mul x w-0 x-0))
-    (mul x w-0 x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 x-1)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 x-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 x-1)))
-      (send (exp (gen) (mul x w-0 x-0 x-1))))
-    ((recv (cat (exp (gen) x-1) (mul x w-0 x-0)))
-      (send (cat (exp (gen) x-1) (mul x w-0 x-0))))
-    ((send (exp (gen) x-1)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 x-1)))
-      (send (cat (exp (gen) x-0) (mul w-0 x-1))))
-    ((send (exp (gen) x-0))))
-  (label 217)
-  (parent 176)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn) (w-0 expr) (x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (x-1 (mul x (rec x-0) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-1 (mul x (rec x-0) w-0))
-    (mul x (rec x-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul w-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 218)
-  (parent 176)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w-0 (mul (rec x) x-0 (rec y)))
-      (y-0 y)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))))
-  (label 219)
-  (parent 177)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 y)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)))
-  (absent (x-0 (mul (rec x) w-0 y)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w-0 y))
-    (mul (rec x) w-0 y) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 y (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 y)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 y))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x-0))))))
-  (label 220)
-  (parent 177)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0 y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 x-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)))
-  (absent (x-0 (mul x w-0 y)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w-0 y)) (mul x w-0 y)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y x-0)))
-      (send (enc n (exp (gen) (mul x w-0 y x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y x-0)))
-      (send (exp (gen) (mul x w-0 y x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0 y)))
-      (send (cat (exp (gen) x-0) (mul x w-0 y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 x-0)))
-      (send (cat (exp (gen) y) (mul w-0 x-0)))))
-  (label 221)
-  (parent 177)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec y))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)))
-  (absent (y (mul x (rec x-0) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x (rec x-0) w-0))
-    (mul x (rec x-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec y))))
-      (send (cat (exp (gen) y) (mul w-0 (rec y))))))
-  (label 222)
-  (parent 177)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w-0 (mul (rec x) x-0 (rec y-0)))
-      (y-1 y-0)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) x-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 223)
-  (parent 178)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x-0))))
-    (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 y-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (x-0 (mul (rec x) w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w-0 y-0))
-    (mul (rec x) w-0 y-0) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 y-0 (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 y-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 y-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 224)
-  (parent 178)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0 y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (x-0 (mul x w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w-0 y-0))
-    (mul x w-0 y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0 x-0)))
-      (send (exp (gen) (mul x w-0 y-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0 y-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0 y-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 x-0)))
-      (send (cat (exp (gen) y-0) (mul w-0 x-0))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 225)
-  (parent 178)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-0 (mul x (rec x-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x (rec x-0) w-0))
-    (mul x (rec x-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 226)
-  (parent 178)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-0 y) (w-0 (mul (rec x) y))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (gen) (mul (rec x) y)))
-      (send (cat (gen) (mul (rec x) y)))))
-  (label 227)
-  (parent 179)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0)))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (x (mul (rec y) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w-0))
-    (mul (rec y) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0))))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))))
-  (label 228)
-  (parent 179)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0)))
-  (deflistener (cat (gen) (mul w-0 y)))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (mul x w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w-0)) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0)))
-      (send (cat (exp (gen) y) (mul x w-0))))
-    ((recv (cat (gen) (mul w-0 y))) (send (cat (gen) (mul w-0 y)))))
-  (label 229)
-  (parent 179)
-  (unrealized (4 0) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (y-0 y) (w-0 (mul y (rec x) (rec x))) (x-0 x)) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) x) (mul y (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x) (rec x))))))
-  (label 230)
-  (parent 180)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 y)))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (mul w-0 x x)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul w-0 x x)) (mul w-0 x x)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x y)))
-      (send (enc n (exp (gen) (mul w-0 x x y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x y)))
-      (send (exp (gen) (mul w-0 x x y))))
-    ((recv (cat (exp (gen) y) (mul w-0 x x)))
-      (send (cat (exp (gen) y) (mul w-0 x x))))
-    ((recv (cat (exp (gen) x) (mul w-0 y)))
-      (send (cat (exp (gen) x) (mul w-0 y)))))
-  (label 231)
-  (parent 180)
-  (unrealized (0 1) (4 0) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (x (mul (rec y) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w-0))
-    (mul (rec y) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))))
-  (label 232)
-  (parent 180)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (w-0 (mul (rec x) y (rec x-0)))
-      (x-2 x-0)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 233)
-  (parent 181)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)))
-  (absent (x-0 (mul (rec y) w-0 x)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec y) w-0 x))
-    (mul (rec y) w-0 x) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 x)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 x))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))))
-  (label 234)
-  (parent 181)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)))
-  (absent (y (mul x w-0 x-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w-0 x-0))
-    (mul x w-0 x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 y)))
-      (send (exp (gen) (mul x w-0 x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0 x-0)))
-      (send (cat (exp (gen) y) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 y)))
-      (send (cat (exp (gen) x-0) (mul w-0 y))))
-    ((send (exp (gen) x-0))))
-  (label 235)
-  (parent 181)
-  (unrealized (0 1) (4 0) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)))
-  (absent (x-0 (mul x (rec y) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x (rec y) w-0))
-    (mul x (rec y) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 236)
-  (parent 181)
-  (unrealized (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w-0 (rec x))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 237)
-  (parent 182)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w-0) w-0 (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x))))))
-  (label 238)
-  (parent 182)
-  (unrealized (0 1) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (deflistener x)
-  (precedes ((0 0) (6 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0)))
-      (send (cat (exp (gen) y) (mul x w-0))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0)))
-    ((recv x) (send x)))
-  (label 239)
-  (parent 182)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (w-0 (mul (rec x) y (rec y-0)))
-      (y-2 y-0)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 240)
-  (parent 183)
-  (unrealized (0 1) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)))
-  (absent (x (mul (rec y) w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w-0 y-0))
-    (mul (rec y) w-0 y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 241)
-  (parent 183)
-  (unrealized (0 1) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x expn) (w-0 expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x w-0 y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)))
-  (absent (y-0 (mul x w-0 y)) (y h) (y-0 (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y y-0)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w-0 y)) (mul x w-0 y)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x w-0 y y-0)))
-      (send (exp (gen) (mul x w-0 y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 y)))
-      (send (cat (exp (gen) y-0) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul w-0 y-0)))
-      (send (cat (exp (gen) y) (mul w-0 y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 242)
-  (parent 183)
-  (unrealized (0 1) (4 0) (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)))
-  (absent (y-0 (mul x (rec y) w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x (rec y) w-0))
-    (mul x (rec y) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 243)
-  (parent 183)
-  (unrealized (5 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul (rec x) y-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w-0 (mul (rec x) y-0))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul (rec x) y-0)))
-      (send (cat (gen) (mul (rec x) y-0)))))
-  (label 244)
-  (parent 184)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (x (mul (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y-0) w-0))
-    (mul (rec y-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))))
-  (label 245)
-  (parent 184)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w-0 y-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 (mul x w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w-0)) (mul x w-0)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w-0 y-0))) (send (cat (gen) (mul w-0 y-0)))))
-  (label 246)
-  (parent 184)
-  (unrealized (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul y-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (y-1 y-0) (w-0 (mul y-0 (rec x) (rec x))) (x-0 x)) (one)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y-0 (rec x) (rec x))))))
-  (label 247)
-  (parent 185)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 y-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 (mul w-0 x x)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 x y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul w-0 x x)) (mul w-0 x x)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x y-0)))
-      (send (enc n (exp (gen) (mul w-0 x x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x y-0)))
-      (send (exp (gen) (mul w-0 x x y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 x x)))
-      (send (cat (exp (gen) y-0) (mul w-0 x x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 y-0)))
-      (send (cat (exp (gen) x) (mul w-0 y-0)))))
-  (label 248)
-  (parent 185)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (x (mul (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y-0) w-0))
-    (mul (rec y-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))))
-  (label 249)
-  (parent 185)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-1 y-0) (w-0 (mul (rec x) y-0 (rec x-0)))
-      (x-2 x-0)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 250)
-  (parent 186)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0 x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (x-0 (mul (rec y-0) w-0 x)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec y-0) w-0 x))
-    (mul (rec y-0) w-0 x) (5 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0 x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0 x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))))
-  (label 251)
-  (parent 186)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 y-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (y-0 (mul x w-0 x-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 x-0 y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w-0 x-0))
-    (mul x w-0 x-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 y-0)))
-      (send (exp (gen) (mul x w-0 x-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 x-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0 x-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 y-0)))
-      (send (cat (exp (gen) x-0) (mul w-0 y-0))))
-    ((send (exp (gen) x-0))))
-  (label 252)
-  (parent 186)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)))
-  (absent (x-0 (mul x (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x (rec y-0) w-0))
-    (mul x (rec y-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 253)
-  (parent 186)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)))
-  (absent (y-0 (exp (gen) w)) (y h))
-  (neq ((exp (gen) w) (gen)) (h (gen))
-    ((exp (gen) (mul (rec x) y)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (w-0 (mul (rec x) y (rec y-0)))
-      (y-2 y-0)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))))
-  (label 254)
-  (parent 187)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)))
-  (absent (x (mul (rec y) w-0 y-0)) (y-0 (exp (gen) w)) (y h))
-  (neq ((exp (gen) w) (gen)) (h (gen))
-    ((exp (gen) (mul w-0 y-0 (rec x))) (gen)))
-  (pen-non-orig y-0 x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w-0 y-0))
-    (mul (rec y) w-0 y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x))))))
-  (label 255)
-  (parent 187)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x expn) (w-0 expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 y)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 y-0)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)))
-  (absent (y-0 (mul x w-0 y)) (y (exp (gen) w)) (y-0 h))
-  (neq ((exp (gen) w) (gen)) (h (gen))
-    ((exp (gen) (mul w-0 y y-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w-0 y)) (mul x w-0 y)
-    (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y y-0)))
-      (send (exp (gen) (mul x w-0 y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 y)))
-      (send (cat (exp (gen) y-0) (mul x w-0 y))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 y-0)))
-      (send (cat (exp (gen) y) (mul w-0 y-0)))))
-  (label 256)
-  (parent 187)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)))
-  (absent (y-0 (mul x (rec y) w-0)) (y-0 (exp (gen) w)) (y h))
-  (neq ((exp (gen) w) (gen)) (h (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig x y-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x (rec y) w-0))
-    (mul x (rec y) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0))))))
-  (label 257)
-  (parent 187)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul y-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w-0 (rec x))) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))))
-  (label 258)
-  (parent 188)
-  (unrealized (0 1) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)))
-  (absent (x w-0) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w-0) w-0 (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x))))))
-  (label 259)
-  (parent 188)
-  (unrealized (0 1) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (deflistener x)
-  (precedes ((0 0) (7 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv x) (send x)))
-  (label 260)
-  (parent 188)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul (rec x) y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) w)))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul (rec x) y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-2 y-0) (w-0 (mul (rec x) y-0 (rec y-1)))
-      (y-3 y-1)) (one) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y-0)))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul (rec x) y-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 261)
-  (parent 189)
-  (unrealized (0 1) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y y-0 expn) (w-0 expr)
-    (y-1 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-1 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (x (mul (rec y-0) w-0 y-1)) (y-1 h-0) (y-0 h)
-    (y (exp (gen) w)))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-1 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 y-1 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y-0) w-0 y-1))
-    (mul (rec y-0) w-0 y-1) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-1 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-1))) (send (exp (gen) (mul w-0 y-1))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-1) (mul w-0 (rec x)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 262)
-  (parent 189)
-  (unrealized (0 1) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x expn) (w-0 expr)
-    (y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0 y-1)))
-  (deflistener (cat (exp (gen) y-1) (mul x w-0 y-0)))
-  (defstrand resp 2 (h h) (y y-1))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-1 (mul x w-0 y-0)) (y-0 h-0) (y-1 h) (y (exp (gen) w)))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 y-1)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-1 (mul x w-0 y-0))
-    (mul x w-0 y-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w-0 y-0 y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0 y-1)))
-      (send (exp (gen) (mul x w-0 y-0 y-1))))
-    ((recv (cat (exp (gen) y-1) (mul x w-0 y-0)))
-      (send (cat (exp (gen) y-1) (mul x w-0 y-0))))
-    ((recv h) (send (exp (gen) y-1)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 y-1)))
-      (send (cat (exp (gen) y-0) (mul w-0 y-1))))
-    ((recv h-0) (send (exp (gen) y-0))))
-  (label 263)
-  (parent 189)
-  (unrealized (0 1) (4 0) (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 expn) (w-0 expr)
-    (y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)))
-  (absent (y-1 (mul x (rec y-0) w-0)) (y-1 h-0) (y-0 h)
-    (y (exp (gen) w)))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-1 (mul x (rec y-0) w-0))
-    (mul x (rec y-0) w-0) (5 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul w-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 264)
-  (parent 189)
-  (unrealized (5 0) (7 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (gen) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x))))
-    ((recv x) (send x)))
-  (label 265)
-  (parent 190)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0)))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))) ((recv x) (send x)))
-  (label 266)
-  (parent 191)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (rec x))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (rec x)) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul (rec x) (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 267)
-  (parent 193)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x) (rec x))
-    (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (gen) w-0)) (send (cat (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 268)
-  (parent 194)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (6 0)) ((8 1) (6 0)))
-  (absent (x-0 (mul w-0 x)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (gen) (mul w-0 x))) (send (cat (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))) ((recv x-0) (send x-0)))
-  (label 269)
-  (parent 197)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 0) (5 0)) ((7 0) (8 0)) ((8 1) (6 0)))
-  (absent (x-0 (mul x w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))) ((recv x-0) (send x-0)))
-  (label 270)
-  (parent 198)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x (mul w-0 y)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (gen) (mul w-0 y))) (send (cat (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x))))) ((recv x) (send x)))
-  (label 271)
-  (parent 200)
-  (unrealized (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec y))))
-  (deflistener y)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (mul x w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w-0 (rec y)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec y))))
-      (send (cat (exp (gen) y) (mul w-0 (rec y))))) ((recv y) (send y)))
-  (label 272)
-  (parent 201)
-  (unrealized (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (6 0)) ((8 1) (6 0)))
-  (absent (x (mul w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (gen) (mul w-0 y-0))) (send (cat (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x) (send x)))
-  (label 273)
-  (parent 203)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (0 1)) ((7 1) (5 0)) ((7 1) (8 0)) ((8 1) (6 0)))
-  (absent (y-0 (mul x w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 (rec y-0)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (gen) (mul x w-0))) (send (cat (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv y-0) (send y-0)))
-  (label 274)
-  (parent 204)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (precedes ((0 2) (1 2)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation generalization deleted (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y))))))
-  (label 275)
-  (parent 205)
-  (unrealized)
-  (shape)
-  (maps
-    ((0 1) ((n n) (hx (exp (gen) w)) (hy (exp (gen) w-0)) (x x) (y y))))
-  (origs (n (0 2))))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (gen) (mul w-0 (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul (rec x) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 (rec x-0))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (gen) (mul w-0 (rec x-0))))
-      (send (cat (gen) (mul w-0 (rec x-0))))) ((recv x-0) (send x-0)))
-  (label 276)
-  (parent 207)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w-0 x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (8 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul x w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0)))
-      (send (exp (gen) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w-0 x-0))) (send (cat (gen) (mul w-0 x-0))))
-    ((recv x-0) (send x-0)))
-  (label 277)
-  (parent 208)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 x x)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (8 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul w-0 x x)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x x-0)))
-      (send (enc n (exp (gen) (mul w-0 x x x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x x-0)))
-      (send (exp (gen) (mul w-0 x x x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 x x)))
-      (send (cat (exp (gen) x-0) (mul w-0 x x))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 x-0)))
-      (send (cat (exp (gen) x) (mul w-0 x-0)))) ((recv x-0) (send x-0)))
-  (label 278)
-  (parent 210)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul (rec x) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0)
-    (mul w-0 (rec x-0) (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 (rec x-0))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0) (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 279)
-  (parent 211)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (rec x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (rec x-0) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (rec x-0)))
-      (send (cat (exp (gen) x) (rec x-0)))) ((recv x-0) (send x-0)))
-  (label 280)
-  (parent 212)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) x) w-0))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 w-0) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) x) w-0)) (send (cat (exp (gen) x) w-0)))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 281)
-  (parent 213)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 (rec x-1))))
-    (x x-1))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-1))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-1)
-  (precedes ((0 0) (5 0)) ((0 0) (9 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)) ((9 1) (7 0)))
-  (absent (x-1 (mul (rec x) w-0 x-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 x-0 (rec x-1))) (gen)))
-  (pen-non-orig y x-1)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-1) (mul w-0 (rec x-1)) (7 0))
-  (traces
-    ((send (exp (gen) x-1)) (recv (exp (gen) (mul w-0 x-0 (rec x-1))))
-      (send (enc n (exp (gen) (mul w-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x-0))) (send (exp (gen) (mul w-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-1))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-1)))))
-    ((send (exp (gen) x-0))) ((recv x-1) (send x-1)))
-  (label 282)
-  (parent 216)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn) (w-0 expr) (x-0 x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 x-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) (mul x w-0 x-0)))
-  (defstrand init 1 (x x-1))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener x-1)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (9 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)) ((9 1) (7 0)))
-  (absent (x-1 (mul x w-0 x-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-0 x-1)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-1) (mul w-0 x-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 x-1)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 x-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 x-1)))
-      (send (exp (gen) (mul x w-0 x-0 x-1))))
-    ((recv (cat (exp (gen) x-1) (mul x w-0 x-0)))
-      (send (cat (exp (gen) x-1) (mul x w-0 x-0))))
-    ((send (exp (gen) x-1)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 x-1)))
-      (send (cat (exp (gen) x-0) (mul w-0 x-1))))
-    ((send (exp (gen) x-0))) ((recv x-1) (send x-1)))
-  (label 283)
-  (parent 217)
-  (unrealized (4 0) (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x x-0 expn) (w-0 expr) (x-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (deflistener x-1)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (9 0)) ((9 1) (7 0)))
-  (absent (x-1 (mul x (rec x-0) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-1) (mul w-0 (rec x-1)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul w-0 (rec x-1)))))
-    ((send (exp (gen) x-1))) ((recv x-1) (send x-1)))
-  (label 284)
-  (parent 218)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 y)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul (rec x) w-0 y)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 y (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 y)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 y))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 285)
-  (parent 220)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0 y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (8 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x-0 (mul x w-0 y)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y x-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y x-0)))
-      (send (enc n (exp (gen) (mul x w-0 y x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y x-0)))
-      (send (exp (gen) (mul x w-0 y x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0 y)))
-      (send (cat (exp (gen) x-0) (mul x w-0 y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 x-0)))
-      (send (cat (exp (gen) y) (mul w-0 x-0)))) ((recv x-0) (send x-0)))
-  (label 286)
-  (parent 221)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x x-0 expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec y))))
-  (deflistener y)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (8 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 0) (5 0)) ((6 0) (7 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y (mul x (rec x-0) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w-0 (rec y)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec y))))
-      (send (cat (exp (gen) y) (mul w-0 (rec y))))) ((recv y) (send y)))
-  (label 287)
-  (parent 222)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x-0))))
-    (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w-0 y-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (9 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)) ((9 1) (7 0)))
-  (absent (x-0 (mul (rec x) w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 y-0 (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w-0 y-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w-0 y-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x-0) (send x-0)))
-  (label 288)
-  (parent 224)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 x-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w-0 y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (9 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)) ((9 1) (7 0)))
-  (absent (x-0 (mul x w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 x-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 x-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 x-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0 x-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0 x-0)))
-      (send (exp (gen) (mul x w-0 y-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w-0 y-0)))
-      (send (cat (exp (gen) x-0) (mul x w-0 y-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 x-0)))
-      (send (cat (exp (gen) y-0) (mul w-0 x-0))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x-0) (send x-0)))
-  (label 289)
-  (parent 225)
-  (unrealized (4 0) (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x x-0 expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 0) (5 0)) ((6 0) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (9 0)) ((9 1) (7 0)))
-  (absent (y-0 (mul x (rec x-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 (rec y-0)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w-0)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w-0))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv y-0) (send y-0)))
-  (label 290)
-  (parent 226)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0)))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x (mul (rec y) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0))))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))) ((recv x) (send x)))
-  (label 291)
-  (parent 228)
-  (unrealized (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0)))
-  (deflistener (cat (gen) (mul w-0 y)))
-  (deflistener y)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (mul x w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w-0 y) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y))) (send (exp (gen) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0)))
-      (send (cat (exp (gen) y) (mul x w-0))))
-    ((recv (cat (gen) (mul w-0 y))) (send (cat (gen) (mul w-0 y))))
-    ((recv y) (send y)))
-  (label 292)
-  (parent 229)
-  (unrealized (4 0) (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (x y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 x x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 y)))
-  (deflistener y)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (mul w-0 x x)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w-0 y) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x y)))
-      (send (enc n (exp (gen) (mul w-0 x x y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x y)))
-      (send (exp (gen) (mul w-0 x x y))))
-    ((recv (cat (exp (gen) y) (mul w-0 x x)))
-      (send (cat (exp (gen) y) (mul w-0 x x))))
-    ((recv (cat (exp (gen) x) (mul w-0 y)))
-      (send (cat (exp (gen) x) (mul w-0 y)))) ((recv y) (send y)))
-  (label 293)
-  (parent 231)
-  (unrealized (4 0) (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x (mul (rec y) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x) (rec x))
-    (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 294)
-  (parent 232)
-  (unrealized (5 0) (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 x)))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)) ((8 1) (6 0)))
-  (absent (x-0 (mul (rec y) w-0 x)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 x)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 x))))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))) ((recv x-0) (send x-0)))
-  (label 295)
-  (parent 234)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x expn) (w-0 expr) (x-0 y expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 y))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w-0 x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (8 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (6 0)) ((8 1) (6 0)))
-  (absent (y (mul x w-0 x-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 x-0 y)) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w-0 y) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 y)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 y)))
-      (send (exp (gen) (mul x w-0 x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w-0 x-0)))
-      (send (cat (exp (gen) y) (mul x w-0 x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 y)))
-      (send (cat (exp (gen) x-0) (mul w-0 y)))) ((send (exp (gen) x-0)))
-    ((recv y) (send y)))
-  (label 296)
-  (parent 235)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (x y expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 0) (5 0))
-    ((7 0) (8 0)) ((8 1) (6 0)))
-  (absent (x-0 (mul x (rec y) w-0)) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))) ((recv x-0) (send x-0)))
-  (label 297)
-  (parent 236)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 298)
-  (parent 237)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (w w-0 expr) (y x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y)))
-  (deflistener (cat (exp (gen) y) w-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (6 0)))
-  (absent (x w-0) (y (exp (gen) w)))
-  (neq ((exp (gen) w) (gen)) ((exp (gen) (mul w-0 y (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y))) (send (exp (gen) (mul w-0 y))))
-    ((recv (cat (exp (gen) y) w-0)) (send (cat (exp (gen) y) w-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y) (mul w-0 (rec x))))) ((recv x) (send x)))
-  (label 299)
-  (parent 238)
-  (unrealized (7 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)) ((8 1) (6 0)))
-  (absent (x (mul (rec y) w-0 y-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv x) (send x)))
-  (label 300)
-  (parent 241)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x expn) (w-0 expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x w-0 y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 y)))
-  (deflistener (cat (exp (gen) y) (mul w-0 y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (8 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (6 0)) ((8 1) (6 0)))
-  (absent (y-0 (mul x w-0 y)) (y h) (y-0 (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y y-0)) (gen)))
-  (pen-non-orig x y-0)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 y-0) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x w-0 y y-0)))
-      (send (exp (gen) (mul x w-0 y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 y)))
-      (send (cat (exp (gen) y-0) (mul x w-0 y))))
-    ((recv (cat (exp (gen) y) (mul w-0 y-0)))
-      (send (cat (exp (gen) y) (mul w-0 y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 301)
-  (parent 242)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (6 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (6 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (0 1)) ((7 1) (5 0))
-    ((7 1) (8 0)) ((8 1) (6 0)))
-  (absent (y-0 (mul x (rec y) w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig x y)
-  (precur (6 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 (rec y-0)) (6 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))) ((recv y-0) (send y-0)))
-  (label 302)
-  (parent 243)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x (mul (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w-0 (rec x))))
-      (send (cat (gen) (mul w-0 (rec x))))) ((recv x) (send x)))
-  (label 303)
-  (parent 245)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul w-0 y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (8 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y-0 (mul x w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0)))
-      (send (exp (gen) (mul x w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul w-0 y-0))) (send (cat (gen) (mul w-0 y-0))))
-    ((recv y-0) (send y-0)))
-  (label 304)
-  (parent 246)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (x y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x x y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 x x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (8 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y-0 (mul w-0 x x)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 x y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x y-0)))
-      (send (enc n (exp (gen) (mul w-0 x x y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x x y-0)))
-      (send (exp (gen) (mul w-0 x x y-0))))
-    ((recv (cat (exp (gen) y-0) (mul w-0 x x)))
-      (send (cat (exp (gen) y-0) (mul w-0 x x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 y-0)))
-      (send (cat (exp (gen) x) (mul w-0 y-0)))) ((recv y-0) (send y-0)))
-  (label 305)
-  (parent 248)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) w-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x (mul (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x) (rec x))
-    (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 (rec x))))
-      (send (enc n (exp (gen) w-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) w-0)) (send (exp (gen) w-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 306)
-  (parent 249)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 expn) (w-0 expr) (x x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x (rec x-0)))) (x x-0))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 x)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0 x)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (9 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)) ((9 1) (7 0)))
-  (absent (x-0 (mul (rec y-0) w-0 x)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 x (rec x-0))) (gen)))
-  (pen-non-orig y x-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w-0 x (rec x-0))))
-      (send (enc n (exp (gen) (mul w-0 x)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 x))) (send (exp (gen) (mul w-0 x))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0 x)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0 x))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x))) ((recv x-0) (send x-0)))
-  (label 307)
-  (parent 251)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x expn) (w-0 expr) (x-0 y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 x-0 y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 x-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 x-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (9 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (7 0)) ((9 1) (7 0)))
-  (absent (y-0 (mul x w-0 x-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 x-0 y-0)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w-0 x-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 x-0 y-0)))
-      (send (exp (gen) (mul x w-0 x-0 y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 x-0)))
-      (send (cat (exp (gen) y-0) (mul x w-0 x-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 y-0)))
-      (send (cat (exp (gen) x-0) (mul w-0 y-0))))
-    ((send (exp (gen) x-0))) ((recv y-0) (send y-0)))
-  (label 308)
-  (parent 252)
-  (unrealized (4 0) (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y x y-0 expn) (w-0 expr) (x-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 0) (5 0))
-    ((8 0) (9 0)) ((9 1) (7 0)))
-  (absent (x-0 (mul x (rec y-0) w-0)) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w-0 (rec x-0)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul w-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w-0 (rec x-0)))))
-    ((send (exp (gen) x-0))) ((recv x-0) (send x-0)))
-  (label 309)
-  (parent 253)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x (mul (rec y) w-0 y-0)) (y-0 (exp (gen) w)) (y h))
-  (neq ((exp (gen) w) (gen)) (h (gen))
-    ((exp (gen) (mul w-0 y-0 (rec x))) (gen)))
-  (pen-non-orig y-0 x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w-0 y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w-0 y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv x) (send x)))
-  (label 310)
-  (parent 255)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x expn) (w-0 expr) (y y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y y-0))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w-0 y)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w-0 y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (7 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (8 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y-0 (mul x w-0 y)) (y (exp (gen) w)) (y-0 h))
-  (neq ((exp (gen) w) (gen)) (h (gen))
-    ((exp (gen) (mul w-0 y y-0)) (gen)))
-  (pen-non-orig x y)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 y-0) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y y-0)))
-      (send (enc n (exp (gen) (mul x w-0 y y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y y-0)))
-      (send (exp (gen) (mul x w-0 y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w-0 y)))
-      (send (cat (exp (gen) y-0) (mul x w-0 y))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w-0 y-0)))
-      (send (cat (exp (gen) y) (mul w-0 y-0)))) ((recv y-0) (send y-0)))
-  (label 311)
-  (parent 256)
-  (unrealized (4 0) (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (x y expn) (w-0 expr) (y-0 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y-0) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-  (deflistener y-0)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 1) (5 0)) ((1 1) (8 0)) ((2 1) (1 2)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (4 0)) ((6 1) (5 0)) ((6 1) (7 0))
-    ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y-0 (mul x (rec y) w-0)) (y-0 (exp (gen) w)) (y h))
-  (neq ((exp (gen) w) (gen)) (h (gen)) ((exp (gen) w-0) (gen)))
-  (pen-non-orig x y-0)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w-0 (rec y-0)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec y-0)))))
-    ((recv y-0) (send y-0)))
-  (label 312)
-  (parent 257)
-  (unrealized (5 0) (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) y-0))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul y-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y-0 (rec x))))
-      (send (enc n (exp (gen) y-0))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (rec x)))
-      (send (cat (exp (gen) y-0) (rec x)))) ((recv x) (send x)))
-  (label 313)
-  (parent 258)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h base) (w expr) (y expn) (w-0 expr) (y-0 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-0)))
-  (deflistener (cat (exp (gen) y-0) w-0))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (8 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (7 0)))
-  (absent (x w-0) (y-0 h) (y (exp (gen) w)))
-  (neq (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-0))) (send (exp (gen) (mul w-0 y-0))))
-    ((recv (cat (exp (gen) y-0) w-0)) (send (cat (exp (gen) y-0) w-0)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-0) (mul w-0 (rec x)))))
-    ((recv x) (send x)))
-  (label 314)
-  (parent 259)
-  (unrealized (8 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y y-0 expn) (w-0 expr)
-    (y-1 x expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-1 (rec x)))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul w-0 y-1)))
-  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w-0 (rec x))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (deflistener x)
-  (precedes ((0 0) (5 0)) ((0 0) (9 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)) ((9 1) (7 0)))
-  (absent (x (mul (rec y-0) w-0 y-1)) (y-1 h-0) (y-0 h)
-    (y (exp (gen) w)))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-1 (rec x))) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y y-0 y-1 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w-0 (rec x)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-1 (rec x))))
-      (send (enc n (exp (gen) (mul w-0 y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul w-0 y-1))) (send (exp (gen) (mul w-0 y-1))))
-    ((recv (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1)))
-      (send (cat (exp (gen) y-0) (mul (rec y-0) w-0 y-1))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w-0 (rec x))))
-      (send (cat (exp (gen) y-1) (mul w-0 (rec x)))))
-    ((recv h-0) (send (exp (gen) y-1))) ((recv x) (send x)))
-  (label 315)
-  (parent 262)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x expn) (w-0 expr)
-    (y-0 y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) (mul w-0 y-0 y-1))) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0 y-0 y-1)))
-  (deflistener (cat (exp (gen) y-1) (mul x w-0 y-0)))
-  (defstrand resp 2 (h h) (y y-1))
-  (deflistener (cat (exp (gen) y-0) (mul w-0 y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (deflistener y-1)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (9 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (7 0)) ((9 1) (7 0)))
-  (absent (y-1 (mul x w-0 y-0)) (y-0 h-0) (y-1 h) (y (exp (gen) w)))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) (mul w-0 y-0 y-1)) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-1) (mul w-0 y-1) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w-0 y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w-0 y-0 y-1)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0 y-0 y-1)))
-      (send (exp (gen) (mul x w-0 y-0 y-1))))
-    ((recv (cat (exp (gen) y-1) (mul x w-0 y-0)))
-      (send (cat (exp (gen) y-1) (mul x w-0 y-0))))
-    ((recv h) (send (exp (gen) y-1)))
-    ((recv (cat (exp (gen) y-0) (mul w-0 y-1)))
-      (send (cat (exp (gen) y-0) (mul w-0 y-1))))
-    ((recv h-0) (send (exp (gen) y-0))) ((recv y-1) (send y-1)))
-  (label 316)
-  (parent 263)
-  (unrealized (4 0) (5 0) (9 0))
-  (comment "empty cohort"))
-
-(defskeleton dh_mim
-  (vars (n text) (h h-0 base) (w expr) (y x y-0 expn) (w-0 expr)
-    (y-1 expn))
-  (defstrand init 3 (n n) (h (exp (gen) w-0)) (x x))
-  (defstrand resp 3 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener (exp (gen) (mul x w-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul w-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (deflistener y-1)
-  (precedes ((0 0) (5 0)) ((0 0) (7 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((2 1) (1 2)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0))
-    ((6 1) (5 0)) ((6 1) (7 0)) ((7 1) (0 1)) ((8 1) (5 0))
-    ((8 1) (9 0)) ((9 1) (7 0)))
-  (absent (y-1 (mul x (rec y-0) w-0)) (y-1 h-0) (y-0 h)
-    (y (exp (gen) w)))
-  (neq (h-0 (gen)) (h (gen)) ((exp (gen) w) (gen))
-    ((exp (gen) w-0) (gen)))
-  (pen-non-orig y x)
-  (precur (7 0) (5 0) (3 0))
-  (uniq-gen y x y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-1) (mul w-0 (rec y-1)) (7 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w-0))
-      (send (enc n (exp (gen) (mul x w-0)))))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv (exp (gen) (mul x w-0))) (send (exp (gen) (mul x w-0))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0) w-0)))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0) w-0))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul w-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul w-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))) ((recv y-1) (send y-1)))
-  (label 317)
-  (parent 264)
-  (unrealized (5 0) (9 0))
-  (comment "empty cohort"))
+(comment "CPSA 3.5.0")
+(comment "All input read from dh_mim2.scm")
+
+(defprotocol dh_mim diffie-hellman
+  (defrole init
+    (vars (x rndx) (y expt) (n text))
+    (trace (send (exp (gen) x)) (recv (exp (gen) y))
+      (send (enc n (exp (gen) (mul x y)))))
+    (uniq-orig n)
+    (uniq-gen x)
+    (neq (y (one))))
+  (defrole resp
+    (vars (y rndx) (x expt) (n text))
+    (trace (recv (exp (gen) x)) (send (exp (gen) y))
+      (recv (enc n (exp (gen) (mul y x)))))
+    (uniq-gen y)
+    (neq (x (one)))
+    (absent (y (exp (gen) x))))
+  (comment "Diffie-hellman key exchange followed by an encryption"))
+
+(defskeleton dh_mim
+  (vars (n text) (x0 y0 expt) (x y rndx))
+  (defstrand init 3 (n n) (x x) (y y0))
+  (defstrand resp 3 (n n) (y y) (x x0))
+  (precedes ((0 2) (1 2)))
+  (absent (y (exp (gen) x0)))
+  (neq (x0 (one)) (y0 (one)))
+  (pen-non-orig x y)
+  (uniq-gen x y)
+  (uniq-orig n)
+  (comment "Agreement on the encrypted text only")
+  (traces
+    ((send (exp (gen) x)) (recv (exp (gen) y0))
+      (send (enc n (exp (gen) (mul y0 x)))))
+    ((recv (exp (gen) x0)) (send (exp (gen) y))
+      (recv (enc n (exp (gen) (mul x0 y))))))
+  (label 0)
+  (unrealized)
+  (shape)
+  (maps ((0 1) ((n n) (x0 x0) (y0 y0) (x x) (y y))))
+  (origs (n (0 2))))
 
 (comment "Nothing left to do")
diff --git a/tst/dh_sig.scm b/tst/dh_sig.scm
--- a/tst/dh_sig.scm
+++ b/tst/dh_sig.scm
@@ -3,18 +3,18 @@
 
 (defprotocol dh_sig diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (a b name))
+    (vars (x rndx) (y expt) (a b name))
     (trace
      (send (exp (gen) x))
-     (recv (enc h (exp (gen) x) (privk b)))
-     (send (enc h (exp (gen) x) (privk a))))
+     (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+     (send (enc (exp (gen) y) (exp (gen) x) (privk a))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (a b name))
+    (vars (y rndx) (x expt) (a b name))
     (trace
-     (recv h)
-     (send (enc (exp (gen) y) h (privk b)))
-     (recv (enc (exp (gen) y) h (privk a))))
+     (recv (exp (gen) x))
+     (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+     (recv (enc (exp (gen) y) (exp (gen) x) (privk a))))
     (uniq-gen y))
 )
 
@@ -32,18 +32,18 @@
 
 (defprotocol dh_sig2 diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (a b name))
+    (vars (x rndx) (y expt) (a b name))
     (trace
      (send (exp (gen) x))
-     (recv (enc h (exp (gen) x) (privk b)))
-     (send (enc (exp (gen) x) h b (privk a))))
+     (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+     (send (enc (exp (gen) x) (exp (gen) y) b (privk a))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (a b name))
+    (vars (y rndx) (x expt) (a b name))
     (trace
-     (recv h)
-     (send (enc (exp (gen) y) h (privk b)))
-     (recv (enc h (exp (gen) y) b (privk a))))
+     (recv (exp (gen) x))
+     (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+     (recv (enc (exp (gen) x) (exp (gen) y) b (privk a))))
     (uniq-gen y))
 )
 
diff --git a/tst/dh_sig.tst b/tst/dh_sig.tst
--- a/tst/dh_sig.tst
+++ b/tst/dh_sig.tst
@@ -1,42 +1,45 @@
 (herald "Signed DH exchange" (algebra diffie-hellman))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from dh_sig.scm")
 
 (defprotocol dh_sig diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x)) (recv (enc h (exp (gen) x) (privk b)))
-      (send (enc h (exp (gen) x) (privk a))))
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk a))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h) (send (enc (exp (gen) y) h (privk b)))
-      (recv (enc (exp (gen) y) h (privk a))))
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk a))))
     (uniq-gen y)
-    (absent (y h))))
+    (absent (y (exp (gen) x)))))
 
 (defskeleton dh_sig
-  (vars (a b name) (h base) (x expn))
-  (defstrand init 3 (a a) (b b) (h h) (x x))
+  (vars (a b name) (x rndx) (y expt))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
   (non-orig (privk a) (privk b))
   (uniq-gen x)
   (traces
-    ((send (exp (gen) x)) (recv (enc h (exp (gen) x) (privk b)))
-      (send (enc h (exp (gen) x) (privk a)))))
+    ((send (exp (gen) x))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk a)))))
   (label 0)
   (unrealized (0 1))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
+  (vars (a b name) (y x rndx))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
+  (defstrand resp 2 (b b) (y y) (x x))
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (absent (y (exp (gen) x)))
   (non-orig (privk a) (privk b))
-  (uniq-gen x y)
+  (uniq-gen y x)
   (operation encryption-test (added-strand resp 2)
     (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
   (traces
@@ -49,42 +52,45 @@
   (parent 0)
   (unrealized)
   (shape)
-  (maps ((0) ((a a) (b b) (x x) (h (exp (gen) y)))))
+  (maps ((0) ((a a) (b b) (x x) (y y))))
   (origs))
 
 (comment "Nothing left to do")
 
 (defprotocol dh_sig diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x)) (recv (enc h (exp (gen) x) (privk b)))
-      (send (enc h (exp (gen) x) (privk a))))
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk a))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h) (send (enc (exp (gen) y) h (privk b)))
-      (recv (enc (exp (gen) y) h (privk a))))
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk a))))
     (uniq-gen y)
-    (absent (y h))))
+    (absent (y (exp (gen) x)))))
 
 (defskeleton dh_sig
-  (vars (a b name) (h base) (y expn))
-  (defstrand resp 3 (a a) (b b) (h h) (y y))
-  (absent (y h))
+  (vars (a b name) (y rndx) (x expt))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (absent (y (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (uniq-gen y)
   (traces
-    ((recv h) (send (enc (exp (gen) y) h (privk b)))
-      (recv (enc (exp (gen) y) h (privk a)))))
+    ((recv (exp (gen) x))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk a)))))
   (label 2)
   (unrealized (0 2))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dh_sig
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
+  (vars (a b b-0 name) (y x rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
   (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
   (absent (y (exp (gen) x)))
   (non-orig (privk a) (privk b))
@@ -102,63 +108,67 @@
   (parent 2)
   (unrealized)
   (shape)
-  (maps ((0) ((a a) (b b) (y y) (h (exp (gen) x)))))
+  (maps ((0) ((a a) (b b) (y y) (x x))))
   (origs))
 
 (defskeleton dh_sig
-  (vars (b name) (h base) (y expn))
-  (defstrand resp 3 (a b) (b b) (h h) (y y))
-  (absent (y h))
+  (vars (b name) (y rndx) (x expt))
+  (defstrand resp 3 (a b) (b b) (y y) (x x))
+  (absent (y (exp (gen) x)))
   (non-orig (privk b))
   (uniq-gen y)
   (operation encryption-test (displaced 1 0 resp 2)
-    (enc (exp (gen) y) h (privk a)) (0 2))
+    (enc (exp (gen) y) (exp (gen) x) (privk a)) (0 2))
   (traces
-    ((recv h) (send (enc (exp (gen) y) h (privk b)))
-      (recv (enc (exp (gen) y) h (privk b)))))
+    ((recv (exp (gen) x))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))))
   (label 4)
   (parent 2)
   (unrealized)
   (shape)
-  (maps ((0) ((a b) (b b) (y y) (h h))))
+  (maps ((0) ((a b) (b b) (y y) (x x))))
   (origs))
 
 (comment "Nothing left to do")
 
 (defprotocol dh_sig2 diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x)) (recv (enc h (exp (gen) x) (privk b)))
-      (send (enc (exp (gen) x) h b (privk a))))
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (privk a))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h) (send (enc (exp (gen) y) h (privk b)))
-      (recv (enc h (exp (gen) y) b (privk a))))
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (privk a))))
     (uniq-gen y)
-    (absent (y h))))
+    (absent (y (exp (gen) x)))))
 
 (defskeleton dh_sig2
-  (vars (a b name) (h base) (x expn))
-  (defstrand init 3 (a a) (b b) (h h) (x x))
+  (vars (a b name) (x rndx) (y expt))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
   (non-orig (privk a) (privk b))
   (uniq-gen x)
   (traces
-    ((send (exp (gen) x)) (recv (enc h (exp (gen) x) (privk b)))
-      (send (enc (exp (gen) x) h b (privk a)))))
+    ((send (exp (gen) x))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (privk a)))))
   (label 5)
   (unrealized (0 1))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig2
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
+  (vars (a b name) (y x rndx))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
+  (defstrand resp 2 (b b) (y y) (x x))
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (absent (y (exp (gen) x)))
   (non-orig (privk a) (privk b))
-  (uniq-gen x y)
+  (uniq-gen y x)
   (operation encryption-test (added-strand resp 2)
     (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
   (traces
@@ -171,46 +181,49 @@
   (parent 5)
   (unrealized)
   (shape)
-  (maps ((0) ((a a) (b b) (x x) (h (exp (gen) y)))))
+  (maps ((0) ((a a) (b b) (x x) (y y))))
   (origs))
 
 (comment "Nothing left to do")
 
 (defprotocol dh_sig2 diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x)) (recv (enc h (exp (gen) x) (privk b)))
-      (send (enc (exp (gen) x) h b (privk a))))
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (privk a))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h) (send (enc (exp (gen) y) h (privk b)))
-      (recv (enc h (exp (gen) y) b (privk a))))
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (privk a))))
     (uniq-gen y)
-    (absent (y h))))
+    (absent (y (exp (gen) x)))))
 
 (defskeleton dh_sig2
-  (vars (a b name) (h base) (y expn))
-  (defstrand resp 3 (a a) (b b) (h h) (y y))
-  (absent (y h))
+  (vars (a b name) (y rndx) (x expt))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (absent (y (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (uniq-gen y)
   (traces
-    ((recv h) (send (enc (exp (gen) y) h (privk b)))
-      (recv (enc h (exp (gen) y) b (privk a)))))
+    ((recv (exp (gen) x))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (privk a)))))
   (label 7)
   (unrealized (0 2))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig2
-  (vars (a b name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
+  (vars (a b name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
   (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
   (absent (y (exp (gen) x)))
   (non-orig (privk a) (privk b))
-  (uniq-gen y x)
+  (uniq-gen x y)
   (operation encryption-test (added-strand init 3)
     (enc (exp (gen) x) (exp (gen) y) b (privk a)) (0 2))
   (traces
@@ -224,7 +237,7 @@
   (parent 7)
   (unrealized)
   (shape)
-  (maps ((0) ((a a) (b b) (y y) (h (exp (gen) x)))))
+  (maps ((0) ((a a) (b b) (y y) (x x))))
   (origs))
 
 (comment "Nothing left to do")
diff --git a/tst/dh_test.scm b/tst/dh_test.scm
--- a/tst/dh_test.scm
+++ b/tst/dh_test.scm
@@ -3,7 +3,7 @@
 (comment
 (defprotocol foo diffie-hellman
   (defrole init
-    (vars (h base) (k akey) (x expn))
+    (vars (h base) (k akey) (x rndx))
     (trace
        (send (enc (exp (gen) x) k))
        (recv (enc (exp h x) k))
@@ -19,7 +19,7 @@
 
 (defprotocol bar diffie-hellman
   (defrole init
-    (vars (h base) (x z expn))
+    (vars (h base) (x z rndx))
     (trace
        (send (exp (gen) x))
        (recv (exp (gen) (mul x z)))
@@ -29,12 +29,12 @@
 )
 
 (defskeleton bar
-  (vars (x expn))
+  (vars (x rndx))
   (defstrand init 2 (x x)))
 
 (defprotocol bar2 diffie-hellman
   (defrole init
-    (vars (h base) (x z expn))
+    (vars (h base) (x z rndx))
     (trace
        (send (exp h x))
        (recv (exp (gen) x))
@@ -44,12 +44,12 @@
 )
 
 (defskeleton bar2
-  (vars (x expn))
+  (vars (x rndx))
   (defstrand init 2 (x x)))
 
 (defprotocol baz diffie-hellman
   (defrole init
-    (vars (h base) (x z expn) (k akey))
+    (vars (h base) (x z rndx) (k akey))
     (trace
        (send (enc (exp (gen) x) k))
        (recv (enc (exp (gen) (mul x z)) k))
@@ -60,12 +60,12 @@
 )
 
 (defskeleton baz
-  (vars (x expn))
+  (vars (x rndx))
   (defstrand init 2 (x x)))
 
 (defprotocol bazar diffie-hellman
   (defrole init
-    (vars (h base) (t text) (x z expn) (k skey))
+    (vars (h base) (t text) (x z rndx) (k skey))
     (trace
        (send (enc (exp (gen) (mul x z)) k))
        (recv (exp (gen) x))
@@ -87,7 +87,7 @@
 
 (defprotocol foo2 diffie-hellman
   (defrole init
-    (vars (h base) (x expn))
+    (vars (h base) (x rndx))
     (trace
        (send (cat (exp (gen) x)
 		  (enc "foo" (exp h x))))
@@ -104,10 +104,10 @@
     (vars (h base))
     (trace (recv h)))
   (defrole init
-    (vars (x expn))
+    (vars (x rndx))
     (trace (send (exp (gen) x)))))
 
 (defskeleton foo3
-   (vars (x expn))
+   (vars (x rndx))
    (defstrand resp 1 (h (exp (gen) x)))
    (non-orig x))
diff --git a/tst/dh_test.tst b/tst/dh_test.tst
--- a/tst/dh_test.tst
+++ b/tst/dh_test.tst
@@ -1,16 +1,16 @@
 (herald "Diffie-Hellman protocol, man-in-the-middle attack"
   (algebra diffie-hellman) (bound 20))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from dh_test.scm")
 (comment "Strand count bounded at 20")
 
 (defprotocol foo3 diffie-hellman
   (defrole resp (vars (h base)) (trace (recv h)))
-  (defrole init (vars (x expn)) (trace (send (exp (gen) x)))))
+  (defrole init (vars (x rndx)) (trace (send (exp (gen) x)))))
 
 (defskeleton foo3
-  (vars (x expn))
+  (vars (x rndx))
   (defstrand resp 1 (h (exp (gen) x)))
   (non-orig x)
   (traces ((recv (exp (gen) x))))
@@ -20,7 +20,7 @@
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton foo3
-  (vars (x expn))
+  (vars (x rndx))
   (defstrand resp 1 (h (exp (gen) x)))
   (defstrand init 1 (x x))
   (precedes ((1 0) (0 0)))
@@ -35,7 +35,7 @@
   (origs))
 
 (defskeleton foo3
-  (vars (x expn) (w expr))
+  (vars (x rndx) (w expt))
   (defstrand resp 1 (h (exp (gen) x)))
   (deflistener (cat (exp (gen) (mul x (rec w))) w))
   (precedes ((1 1) (0 0)))
@@ -53,7 +53,7 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton foo3
-  (vars (x x-0 expn))
+  (vars (x x-0 rndx))
   (defstrand resp 1 (h (exp (gen) x)))
   (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
   (defstrand init 1 (x x-0))
@@ -71,7 +71,7 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton foo3
-  (vars (x expn))
+  (vars (x rndx))
   (defstrand resp 1 (h (exp (gen) x)))
   (deflistener (cat (exp (gen) x) (one)))
   (defstrand init 1 (x x))
diff --git a/tst/dhnsl_basic.scm b/tst/dhnsl_basic.scm
--- a/tst/dhnsl_basic.scm
+++ b/tst/dhnsl_basic.scm
@@ -4,23 +4,23 @@
 
 (defprotocol dhnsl diffie-hellman
   (defrole resp
-    (vars (b a name) (h1 base) (y expn))
+    (vars (b a name) (x expt) (y rndx))
     (trace
-     (recv (enc h1 a (pubk b)))
-     (send (enc h1 (exp (gen) y) b (pubk a)))
+     (recv (enc (exp (gen) x) a (pubk b)))
+     (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
      (recv (enc (exp (gen) y) (pubk b)))
      
      )
-    (absent (y h1))
+    (absent (y (exp (gen) x)))
 ;    (uniq-gen y)
     (comment "Y and Z should be assumed to be freshly chosen per role")
   )
   (defrole init
-    (vars (a b name) (h2 base) (x expn))
+    (vars (a b name) (y expt) (x rndx))
     (trace
      (send (enc (exp (gen) x) a (pubk b)))
-     (recv (enc (exp (gen) x) h2 b (pubk a)))
-     (send (enc h2 (pubk b)))
+     (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+     (send (enc (exp (gen) y) (pubk b)))
     )
 ;    (uniq-gen x)
     (comment "X should be assumed to be freshly chosen per role")
@@ -30,16 +30,16 @@
 
 ;;; The initiator point-of-view
 (defskeleton dhnsl
-  (vars (a b name) (h2 h3 base) (x expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
+  (vars (a b name) (y expt) (x rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
   (non-orig (privk b) (privk a))
   (uniq-gen x)
   (comment "Initiator point-of-view"))
 
 ;; The responder point-of-view
 (defskeleton dhnsl
-  (vars (a b name) (h1 base) (y z expn))
-  (defstrand resp 3 (a a) (b b) (h1 h1) (y y))
+  (vars (a b name) (x expt) (y rndx))
+  (defstrand resp 3 (a a) (b b) (x x) (y y))
   (non-orig (privk a))
   (uniq-gen y)
   (comment "Responder point-of-view"))
diff --git a/tst/dhnsl_basic.tst b/tst/dhnsl_basic.tst
--- a/tst/dhnsl_basic.tst
+++ b/tst/dhnsl_basic.tst
@@ -1,63 +1,65 @@
 (herald "Diffie-Hellman enhanced Needham-Schroeder-Lowe Protocol"
   (algebra diffie-hellman))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from dhnsl_basic.scm")
 
 (defprotocol dhnsl diffie-hellman
   (defrole resp
-    (vars (b a name) (h1 base) (y expn))
-    (trace (recv (enc h1 a (pubk b)))
-      (send (enc h1 (exp (gen) y) b (pubk a)))
+    (vars (b a name) (x expt) (y rndx))
+    (trace (recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
       (recv (enc (exp (gen) y) (pubk b))))
-    (absent (y h1))
+    (absent (y (exp (gen) x)))
     (comment "Y and Z should be assumed to be freshly chosen per role"))
   (defrole init
-    (vars (a b name) (h2 base) (x expn))
+    (vars (a b name) (y expt) (x rndx))
     (trace (send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     (comment "X should be assumed to be freshly chosen per role"))
   (comment
     "Needham-Schroeder-Lowe DH challenge/responses in place of nonces"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (x expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
+  (vars (a b name) (y expt) (x rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
   (non-orig (privk a) (privk b))
   (uniq-gen x)
   (comment "Initiator point-of-view")
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a)))
-      (send (enc h2 (pubk b)))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))))
   (label 0)
   (unrealized (0 1))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (x y expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
+  (vars (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (absent (y (exp (gen) x)))
+  (absent (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (uniq-gen x)
   (operation nonce-test (added-strand resp 2) (exp (gen) x) (0 1)
     (enc (exp (gen) x) a (pubk b)))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a)))))
   (label 1)
   (parent 0)
   (unrealized (0 1))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (x expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
+  (vars (a b name) (y expt) (x rndx) (w expt))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
   (deflistener (cat (exp (gen) (mul x (rec w))) w))
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
@@ -68,7 +70,8 @@
     (0 1) (enc (exp (gen) x) a (pubk b)))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (cat (exp (gen) (mul x (rec w))) w))
       (send (cat (exp (gen) (mul x (rec w))) w))))
   (label 2)
@@ -77,15 +80,15 @@
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
+  (vars (a b name) (x y rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (absent (y (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (uniq-gen x)
-  (operation nonce-test (contracted (h2 (exp (gen) y))) (exp (gen) x)
-    (0 1) (enc (exp (gen) x) a (pubk b))
+  (operation nonce-test (contracted (y-0 y) (y-1 y)) (exp (gen) x) (0 1)
+    (enc (exp (gen) x) a (pubk b))
     (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
@@ -97,28 +100,29 @@
   (parent 1)
   (unrealized)
   (shape)
-  (maps ((0) ((a a) (b b) (h2 (exp (gen) y)) (x x))))
+  (maps ((0) ((a a) (b b) (y y) (x x))))
   (origs))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (x y expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
+  (vars (a b name) (y expt) (y-0 x rndx) (w expt))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
   (deflistener (cat (exp (gen) (mul x (rec w))) w))
   (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
+  (absent (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (uniq-gen x)
   (precur (2 0))
   (operation nonce-test
     (added-listener (cat (exp (gen) (mul x (rec w))) w)) (exp (gen) x)
     (0 1) (enc (exp (gen) x) a (pubk b))
-    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+    (enc (exp (gen) x) (exp (gen) y-0) b (pubk a)))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
     ((recv (cat (exp (gen) (mul x (rec w))) w))
       (send (cat (exp (gen) (mul x (rec w))) w))))
   (label 4)
@@ -127,8 +131,8 @@
   (comment "5 in cohort - 5 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (x expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
+  (vars (a b name) (y expt) (x rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
   (deflistener (cat (gen) x))
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
@@ -137,7 +141,8 @@
   (operation nonce-test (contracted (x-0 x) (w x)) (gen) (1 0))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (cat (gen) x)) (send (cat (gen) x))))
   (label 5)
   (parent 2)
@@ -145,31 +150,32 @@
   (comment "empty cohort"))
 
 (defskeleton dhnsl
-  (vars (a b b-0 a-0 name) (h2 h1 base) (x y expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y))
+  (vars (a b b-0 a-0 name) (y x expt) (x-0 y-0 rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x-0))
+  (deflistener (cat (exp (gen) y-0) (mul x-0 (rec y-0))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x) (y y-0))
   (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y h1))
+  (absent (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (precur (1 0))
-  (uniq-gen x)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (1 0))
+  (uniq-gen x-0)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
   (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y) b-0 (pubk a-0)))))
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((recv (cat (exp (gen) y-0) (mul x-0 (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x-0 (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b-0 (pubk a-0)))))
   (label 6)
   (parent 2)
   (unrealized (0 1) (1 0))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (x expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
+  (vars (a b name) (y expt) (x rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
   (deflistener (cat (exp (gen) x) (one)))
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
@@ -178,7 +184,8 @@
   (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one)))))
   (label 7)
   (parent 2)
@@ -186,8 +193,8 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b a-0 b-0 name) (h2 base) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
+  (vars (a b a-0 b-0 name) (y expt) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
   (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
   (defstrand init 1 (a a-0) (b b-0) (x x-0))
   (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0)))
@@ -197,7 +204,8 @@
   (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
       (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
     ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
@@ -207,21 +215,22 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (y x expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
+  (vars (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
   (deflistener (cat (gen) x))
   (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
+  (absent (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (uniq-gen x)
   (precur (2 0))
   (operation nonce-test (contracted (x-0 x) (w x)) (gen) (2 0))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
     ((recv (cat (gen) x)) (send (cat (gen) x))))
   (label 9)
   (parent 4)
@@ -229,71 +238,74 @@
   (comment "empty cohort"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (x y expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
+  (vars (a b name) (y expt) (x y-0 rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0))))
   (precedes ((0 0) (1 0)) ((1 1) (2 0)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
+  (absent (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (precur (2 0))
   (uniq-gen x)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (2 0))
+  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-1) (2 0))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y))))))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
+    ((recv (cat (exp (gen) y-0) (mul x (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x (rec y-0))))))
   (label 10)
   (parent 4)
   (unrealized (0 1) (2 0))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b b-0 a-0 name) (h2 h1 base) (y x y-0 expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y-0))
+  (vars (a b b-0 a-0 name) (y expt) (y-0 rndx) (x expt) (x-0 y-1 rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x-0))
+  (defstrand resp 2 (b b) (a a) (x x-0) (y y-0))
+  (deflistener (cat (exp (gen) y-1) (mul x-0 (rec y-1))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x) (y y-1))
   (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1))
     ((3 1) (2 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
+  (absent (y-1 (exp (gen) x)) (y-0 (exp (gen) x-0)))
   (non-orig (privk a) (privk b))
   (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
+  (uniq-gen x-0)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (2 0))
   (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y-0) b-0 (pubk a-0)))))
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y-0) b (pubk a))))
+    ((recv (cat (exp (gen) y-1) (mul x-0 (rec y-1))))
+      (send (cat (exp (gen) y-1) (mul x-0 (rec y-1)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x) (exp (gen) y-1) b-0 (pubk a-0)))))
   (label 11)
   (parent 4)
   (unrealized (0 1) (2 0))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (y x expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
+  (vars (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
   (deflistener (cat (exp (gen) x) (one)))
   (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
+  (absent (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (precur (2 0))
   (uniq-gen x)
   (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
     ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one)))))
   (label 12)
   (parent 4)
@@ -302,23 +314,24 @@
   (comment "2 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b a-0 b-0 name) (h2 base) (y x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
+  (vars (a b a-0 b-0 name) (y expt) (y-0 x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
   (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
   (defstrand init 1 (a a-0) (b b-0) (x x-0))
   (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1))
     ((3 0) (2 0)))
-  (absent (y (exp (gen) x)))
+  (absent (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (precur (2 0))
   (uniq-gen x)
   (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
     ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
       (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
     ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
@@ -328,36 +341,38 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b b-0 a-0 name) (h2 h1 base) (x y expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y))
-  (deflistener x)
+  (vars (a b b-0 a-0 name) (y x expt) (x-0 y-0 rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x-0))
+  (deflistener (cat (exp (gen) y-0) (mul x-0 (rec y-0))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x) (y y-0))
+  (deflistener x-0)
   (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (1 0)))
-  (absent (y h1))
+  (absent (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (precur (1 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x (rec y)) (1 0))
+  (uniq-gen x-0)
+  (operation nonce-test (added-listener x-0) (mul x-0 (rec y-0)) (1 0))
   (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y) b-0 (pubk a-0)))) ((recv x) (send x)))
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((recv (cat (exp (gen) y-0) (mul x-0 (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x-0 (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b-0 (pubk a-0))))
+    ((recv x-0) (send x-0)))
   (label 14)
   (parent 6)
   (unrealized (3 0))
   (comment "empty cohort"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (x y expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
+  (vars (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
   (deflistener (cat (exp (gen) x) (one)))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
   (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y (exp (gen) x)))
+  (absent (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (precur (1 0))
   (uniq-gen x)
@@ -365,18 +380,19 @@
     (enc (exp (gen) x) a (pubk b)))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
     ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a)))))
   (label 15)
   (parent 7)
   (unrealized (1 0))
   (comment "empty cohort"))
 
 (defskeleton dhnsl
-  (vars (a b a-0 b-0 name) (h2 base) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
+  (vars (a b a-0 b-0 name) (y expt) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
   (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
   (defstrand init 1 (a a-0) (b b-0) (x x-0))
   (deflistener x)
@@ -387,7 +403,8 @@
   (operation nonce-test (added-listener x) (mul x (rec x-0)) (1 0))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
       (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
     ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))) ((recv x) (send x)))
@@ -397,68 +414,71 @@
   (comment "empty cohort"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (x y expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
+  (vars (a b name) (y expt) (x y-0 rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0))))
   (deflistener x)
   (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (2 0)) ((2 1) (0 1))
     ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
+  (absent (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (precur (2 0))
   (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x (rec y)) (2 0))
+  (operation nonce-test (added-listener x) (mul x (rec y-0)) (2 0))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y))))) ((recv x) (send x)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
+    ((recv (cat (exp (gen) y-0) (mul x (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x (rec y-0)))))
+    ((recv x) (send x)))
   (label 17)
   (parent 10)
   (unrealized (3 0))
   (comment "empty cohort"))
 
 (defskeleton dhnsl
-  (vars (a b b-0 a-0 name) (h2 h1 base) (y x y-0 expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y-0))
-  (deflistener x)
+  (vars (a b b-0 a-0 name) (y expt) (y-0 rndx) (x expt) (x-0 y-1 rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x-0))
+  (defstrand resp 2 (b b) (a a) (x x-0) (y y-0))
+  (deflistener (cat (exp (gen) y-1) (mul x-0 (rec y-1))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x) (y y-1))
+  (deflistener x-0)
   (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
     ((3 1) (2 0)) ((4 1) (2 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
+  (absent (y-1 (exp (gen) x)) (y-0 (exp (gen) x-0)))
   (non-orig (privk a) (privk b))
   (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x (rec y-0)) (2 0))
+  (uniq-gen x-0)
+  (operation nonce-test (added-listener x-0) (mul x-0 (rec y-1)) (2 0))
   (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y-0) b-0 (pubk a-0))))
-    ((recv x) (send x)))
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y-0) b (pubk a))))
+    ((recv (cat (exp (gen) y-1) (mul x-0 (rec y-1))))
+      (send (cat (exp (gen) y-1) (mul x-0 (rec y-1)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x) (exp (gen) y-1) b-0 (pubk a-0))))
+    ((recv x-0) (send x-0)))
   (label 18)
   (parent 11)
   (unrealized (4 0))
   (comment "empty cohort"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h2 base) (y x y-0 expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
+  (vars (a b name) (y expt) (y-0 y-1 x rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
   (deflistener (cat (exp (gen) x) (one)))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y-0))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-1))
   (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
     ((3 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y (exp (gen) x)))
+  (absent (y-1 (exp (gen) x)) (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (precur (2 0))
   (uniq-gen x)
@@ -466,12 +486,13 @@
     (enc (exp (gen) x) a (pubk b)))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
     ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
     ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a)))))
+      (send (enc (exp (gen) x) (exp (gen) y-1) b (pubk a)))))
   (label 19)
   (parent 12)
   (seen 15)
@@ -479,24 +500,25 @@
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b a-0 b-0 name) (h2 base) (y x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
+  (vars (a b a-0 b-0 name) (y expt) (y-0 x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
   (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
   (defstrand init 1 (a a-0) (b b-0) (x x-0))
   (deflistener x)
   (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
     ((3 0) (2 0)) ((4 1) (2 0)))
-  (absent (y (exp (gen) x)))
+  (absent (y-0 (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (precur (2 0))
   (uniq-gen x)
   (operation nonce-test (added-listener x) (mul x (rec x-0)) (2 0))
   (traces
     ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
     ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
       (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
     ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))) ((recv x) (send x)))
@@ -509,29 +531,31 @@
 
 (defprotocol dhnsl diffie-hellman
   (defrole resp
-    (vars (b a name) (h1 base) (y expn))
-    (trace (recv (enc h1 a (pubk b)))
-      (send (enc h1 (exp (gen) y) b (pubk a)))
+    (vars (b a name) (x expt) (y rndx))
+    (trace (recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
       (recv (enc (exp (gen) y) (pubk b))))
-    (absent (y h1))
+    (absent (y (exp (gen) x)))
     (comment "Y and Z should be assumed to be freshly chosen per role"))
   (defrole init
-    (vars (a b name) (h2 base) (x expn))
+    (vars (a b name) (y expt) (x rndx))
     (trace (send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b))))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
     (comment "X should be assumed to be freshly chosen per role"))
   (comment
     "Needham-Schroeder-Lowe DH challenge/responses in place of nonces"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h1 base) (y expn))
-  (defstrand resp 3 (b b) (a a) (h1 h1) (y y))
-  (absent (y h1))
+  (vars (a b name) (x expt) (y rndx))
+  (defstrand resp 3 (b b) (a a) (x x) (y y))
+  (absent (y (exp (gen) x)))
   (non-orig (privk a))
   (uniq-gen y)
   (comment "Responder point-of-view")
   (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
       (recv (enc (exp (gen) y) (pubk b)))))
   (label 21)
   (unrealized (0 2))
@@ -539,9 +563,9 @@
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b name) (y x expn))
-  (defstrand resp 3 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
+  (vars (a b name) (y x rndx))
+  (defstrand resp 3 (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
   (precedes ((0 1) (1 1)) ((1 2) (0 2)))
   (absent (y (exp (gen) x)))
   (non-orig (privk a))
@@ -559,23 +583,24 @@
   (parent 21)
   (unrealized)
   (shape)
-  (maps ((0) ((a a) (b b) (h1 (exp (gen) x)) (y y))))
+  (maps ((0) ((a a) (b b) (x x) (y y))))
   (origs))
 
 (defskeleton dhnsl
-  (vars (a b name) (h1 base) (y expn) (w expr))
-  (defstrand resp 3 (b b) (a a) (h1 h1) (y y))
+  (vars (a b name) (x expt) (y rndx) (w expt))
+  (defstrand resp 3 (b b) (a a) (x x) (y y))
   (deflistener (cat (exp (gen) (mul y (rec w))) w))
   (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h1))
+  (absent (y (exp (gen) x)))
   (non-orig (privk a))
   (uniq-gen y)
   (precur (1 0))
   (operation nonce-test
     (added-listener (cat (exp (gen) (mul y (rec w))) w)) (exp (gen) y)
-    (0 2) (enc h1 (exp (gen) y) b (pubk a)))
+    (0 2) (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
   (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
       (recv (enc (exp (gen) y) (pubk b))))
     ((recv (cat (exp (gen) (mul y (rec w))) w))
       (send (cat (exp (gen) (mul y (rec w))) w))))
@@ -585,17 +610,18 @@
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h1 base) (y expn))
-  (defstrand resp 3 (b b) (a a) (h1 h1) (y y))
+  (vars (a b name) (x expt) (y rndx))
+  (defstrand resp 3 (b b) (a a) (x x) (y y))
   (deflistener (cat (gen) y))
   (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h1))
+  (absent (y (exp (gen) x)))
   (non-orig (privk a))
   (uniq-gen y)
   (precur (1 0))
   (operation nonce-test (contracted (y-0 y) (w y)) (gen) (1 0))
   (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
       (recv (enc (exp (gen) y) (pubk b))))
     ((recv (cat (gen) y)) (send (cat (gen) y))))
   (label 24)
@@ -604,17 +630,18 @@
   (comment "empty cohort"))
 
 (defskeleton dhnsl
-  (vars (a b name) (h1 base) (y expn))
-  (defstrand resp 3 (b b) (a a) (h1 h1) (y y))
+  (vars (a b name) (x expt) (y rndx))
+  (defstrand resp 3 (b b) (a a) (x x) (y y))
   (deflistener (cat (exp (gen) y) (one)))
   (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h1))
+  (absent (y (exp (gen) x)))
   (non-orig (privk a))
   (precur (1 0))
   (uniq-gen y)
   (operation nonce-test (displaced 2 0 resp 2) (exp (gen) y-0) (1 0))
   (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
       (recv (enc (exp (gen) y) (pubk b))))
     ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
   (label 25)
@@ -623,55 +650,57 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b b-0 a-0 name) (h1 h1-0 base) (y y-0 expn))
-  (defstrand resp 3 (b b) (a a) (h1 h1) (y y))
+  (vars (a b b-0 a-0 name) (x x-0 expt) (y y-0 rndx))
+  (defstrand resp 3 (b b) (a a) (x x) (y y))
   (deflistener (cat (exp (gen) y-0) (mul y (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1-0) (y y-0))
+  (defstrand resp 2 (b b-0) (a a-0) (x x-0) (y y-0))
   (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y-0 h1-0) (y h1))
+  (absent (y-0 (exp (gen) x-0)) (y (exp (gen) x)))
   (non-orig (privk a))
   (precur (1 0))
   (uniq-gen y)
   (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
   (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
       (recv (enc (exp (gen) y) (pubk b))))
     ((recv (cat (exp (gen) y-0) (mul y (rec y-0))))
       (send (cat (exp (gen) y-0) (mul y (rec y-0)))))
-    ((recv (enc h1-0 a-0 (pubk b-0)))
-      (send (enc h1-0 (exp (gen) y-0) b-0 (pubk a-0)))))
+    ((recv (enc (exp (gen) x-0) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x-0) (exp (gen) y-0) b-0 (pubk a-0)))))
   (label 26)
   (parent 23)
   (unrealized (0 2) (1 0))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b a-0 b-0 name) (h1 base) (y x expn))
-  (defstrand resp 3 (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x))))
-  (defstrand init 1 (a a-0) (b b-0) (x x))
+  (vars (a b a-0 b-0 name) (x expt) (y x-0 rndx))
+  (defstrand resp 3 (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) x-0) (mul y (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
   (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
-  (absent (y h1))
+  (absent (y (exp (gen) x)))
   (non-orig (privk a))
   (precur (1 0))
   (uniq-gen y)
-  (operation nonce-test (added-strand init 1) (exp (gen) x) (1 0))
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
   (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
       (recv (enc (exp (gen) y) (pubk b))))
-    ((recv (cat (exp (gen) x) (mul y (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x)))))
-    ((send (enc (exp (gen) x) a-0 (pubk b-0)))))
+    ((recv (cat (exp (gen) x-0) (mul y (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
   (label 27)
   (parent 23)
   (unrealized (0 2) (1 0))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b name) (y x expn))
-  (defstrand resp 3 (b b) (a a) (h1 (exp (gen) x)) (y y))
+  (vars (a b name) (y x rndx))
+  (defstrand resp 3 (b b) (a a) (x x) (y y))
   (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
   (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 2) (1 0)))
   (absent (y (exp (gen) x)))
   (non-orig (privk a))
@@ -694,24 +723,25 @@
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhnsl
-  (vars (a b b-0 a-0 name) (h1 h1-0 base) (y y-0 expn))
-  (defstrand resp 3 (b b) (a a) (h1 h1) (y y))
+  (vars (a b b-0 a-0 name) (x x-0 expt) (y y-0 rndx))
+  (defstrand resp 3 (b b) (a a) (x x) (y y))
   (deflistener (cat (exp (gen) y-0) (mul y (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1-0) (y y-0))
+  (defstrand resp 2 (b b-0) (a a-0) (x x-0) (y y-0))
   (deflistener y)
   (precedes ((0 1) (3 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (1 0)))
-  (absent (y-0 h1-0) (y h1))
+  (absent (y-0 (exp (gen) x-0)) (y (exp (gen) x)))
   (non-orig (privk a))
   (precur (1 0))
   (uniq-gen y)
   (operation nonce-test (added-listener y) (mul y (rec y-0)) (1 0))
   (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
       (recv (enc (exp (gen) y) (pubk b))))
     ((recv (cat (exp (gen) y-0) (mul y (rec y-0))))
       (send (cat (exp (gen) y-0) (mul y (rec y-0)))))
-    ((recv (enc h1-0 a-0 (pubk b-0)))
-      (send (enc h1-0 (exp (gen) y-0) b-0 (pubk a-0))))
+    ((recv (enc (exp (gen) x-0) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x-0) (exp (gen) y-0) b-0 (pubk a-0))))
     ((recv y) (send y)))
   (label 29)
   (parent 26)
@@ -719,23 +749,24 @@
   (comment "empty cohort"))
 
 (defskeleton dhnsl
-  (vars (a b a-0 b-0 name) (h1 base) (y x expn))
-  (defstrand resp 3 (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x))))
-  (defstrand init 1 (a a-0) (b b-0) (x x))
+  (vars (a b a-0 b-0 name) (x expt) (y x-0 rndx))
+  (defstrand resp 3 (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) x-0) (mul y (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
   (deflistener y)
   (precedes ((0 1) (3 0)) ((1 1) (0 2)) ((2 0) (1 0)) ((3 1) (1 0)))
-  (absent (y h1))
+  (absent (y (exp (gen) x)))
   (non-orig (privk a))
   (precur (1 0))
   (uniq-gen y)
-  (operation nonce-test (added-listener y) (mul y (rec x)) (1 0))
+  (operation nonce-test (added-listener y) (mul y (rec x-0)) (1 0))
   (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
       (recv (enc (exp (gen) y) (pubk b))))
-    ((recv (cat (exp (gen) x) (mul y (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x)))))
-    ((send (enc (exp (gen) x) a-0 (pubk b-0)))) ((recv y) (send y)))
+    ((recv (cat (exp (gen) x-0) (mul y (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))) ((recv y) (send y)))
   (label 30)
   (parent 27)
   (unrealized (3 0))
diff --git a/tst/dhnsl_use.scm b/tst/dhnsl_use.scm
--- a/tst/dhnsl_use.scm
+++ b/tst/dhnsl_use.scm
@@ -4,12 +4,12 @@
 
 (defprotocol dhnsl diffie-hellman
   (defrole resp
-    (vars (b a name) (h1 base) (y expn) (n text))
+    (vars (b a name) (x expt) (y rndx) (n text))
     (trace
-     (recv (enc h1 a (pubk b)))
-     (send (enc h1 (exp (gen) y) b (pubk a)))
+     (recv (enc (exp (gen) x) a (pubk b)))
+     (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
      (recv (enc (exp (gen) y) (pubk b)))
-     (send (enc n (exp h1 y)))
+     (send (enc n (exp (gen) (mul x y))))
      (recv n)
     )
      (uniq-orig n)
@@ -17,12 +17,12 @@
     (comment "Y should be assumed to be freshly chosen per role")
   )
   (defrole init
-    (vars (a b name) (h2 base) (x expn) (n text))
+    (vars (a b name) (y expt) (x rndx) (n text))
     (trace
      (send (enc (exp (gen) x) a (pubk b)))
-     (recv (enc (exp (gen) x) h2 b (pubk a)))
-     (send (enc h2 (pubk b)))
-     (recv (enc n (exp h2 x)))
+     (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+     (send (enc (exp (gen) y) (pubk b)))
+     (recv (enc n (exp (gen) (mul x y))))
      (send n)
     )
     (uniq-gen x)
@@ -33,28 +33,26 @@
 
 ;;; The initiator point-of-view
 (defskeleton dhnsl
-  (vars (a b name) (h2 h3 base) (x expn))
-  (defstrand init 5 (a a) (b b) (h2 h2) (x x))
+  (vars (a b name) (y expt) (x rndx))
+  (defstrand init 5 (a a) (b b) (y y) (x x))
   (non-orig (privk b) (privk a))
-;  (uniq-gen x)
   (comment "Initiator point-of-view"))
 
 ;; The responder point-of-view
 (defskeleton dhnsl
-  (vars (a b name) (h1 base) (y z expn))
-  (defstrand resp 5 (a a) (b b) (h1 h1) (y y))
+  (vars (a b name) (x expt) (y rndx))
+  (defstrand resp 5 (a a) (b b) (x x) (y y))
   (non-orig (privk a) (privk b))
-;  (uniq-gen y)
   (comment "Responder point-of-view"))
 
 (defprotocol dhns diffie-hellman
   (defrole resp
-    (vars (b a name) (h1 base) (y expn) (n text))
+    (vars (b a name) (x expt) (y rndx) (n text))
     (trace
-     (recv (enc h1 a (pubk b)))
-     (send (enc h1 (exp (gen) y) (pubk a)))
+     (recv (enc (exp (gen) x) a (pubk b)))
+     (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
      (recv (enc (exp (gen) y) (pubk b)))
-     (send (enc n (exp h1 y)))
+     (send (enc n (exp (gen) (mul x y))))
      (recv n)
     )
      (uniq-orig n)
@@ -62,12 +60,12 @@
     (comment "Y should be assumed to be freshly chosen per role")
   )
   (defrole init
-    (vars (a b name) (h2 base) (x expn) (n text))
+    (vars (a b name) (y expt) (x rndx) (n text))
     (trace
      (send (enc (exp (gen) x) a (pubk b)))
-     (recv (enc (exp (gen) x) h2 (pubk a)))
-     (send (enc h2 (pubk b)))
-     (recv (enc n (exp h2 x)))
+     (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+     (send (enc (exp (gen) y) (pubk b)))
+     (recv (enc n (exp (gen) (mul y x))))
      (send n)
     )
     (uniq-gen x)
@@ -78,16 +76,16 @@
 
 ;;; The initiator point-of-view
 (defskeleton dhns
-  (vars (a b name) (h2 h3 base) (x expn))
-  (defstrand init 5 (a a) (b b) (h2 h2) (x x))
+  (vars (a b name) (y expt) (x rndx))
+  (defstrand init 5 (a a) (b b) (y y) (x x))
   (non-orig (privk b) (privk a))
 ;  (uniq-gen x)
   (comment "Initiator point-of-view"))
 
 ;; The responder point-of-view
 (defskeleton dhns
-  (vars (a b name) (h1 base) (y z expn))
-  (defstrand resp 5 (a a) (b b) (h1 h1) (y y))
+  (vars (a b name) (x expt) (y z rndx))
+  (defstrand resp 5 (a a) (b b) (x x) (y y))
   (non-orig (privk a) (privk b))
 ;  (uniq-gen y)
   (comment "Responder point-of-view"))
diff --git a/tst/dhnsl_use.tst b/tst/dhnsl_use.tst
--- a/tst/dhnsl_use.tst
+++ b/tst/dhnsl_use.tst
@@ -1,3957 +1,3995 @@
 (herald "Diffie-Hellman enhanced Needham-Schroeder-Lowe Protocol"
   (algebra diffie-hellman))
 
-(comment "CPSA 3.4.0")
-(comment "All input read from dhnsl_use.scm")
-
-(defprotocol dhnsl diffie-hellman
-  (defrole resp
-    (vars (b a name) (h1 base) (y expn) (n text))
-    (trace (recv (enc h1 a (pubk b)))
-      (send (enc h1 (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    (uniq-orig n)
-    (uniq-gen y)
-    (absent (y h1))
-    (comment "Y should be assumed to be freshly chosen per role"))
-  (defrole init
-    (vars (a b name) (h2 base) (x expn) (n text))
-    (trace (send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    (uniq-gen x)
-    (comment "X should be assumed to be freshly chosen per role"))
-  (comment
-    "Needham-Schroeder-Lowe DH challenge/responses in place of nonces"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h2 base) (x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (comment "Initiator point-of-view")
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n)))
-  (label 0)
-  (unrealized (0 1) (0 3))
-  (origs)
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h2 base) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) x) (0 1)
-    (enc (exp (gen) x) a (pubk b)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))))
-  (label 1)
-  (parent 0)
-  (unrealized (0 1) (0 3))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h2 base) (x expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) (mul x (rec w))) w))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (1 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x (rec w))) w)) (exp (gen) x)
-    (0 1) (enc (exp (gen) x) a (pubk b)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (exp (gen) (mul x (rec w))) w))
-      (send (cat (exp (gen) (mul x (rec w))) w))))
-  (label 2)
-  (parent 0)
-  (unrealized (0 3) (1 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation nonce-test (contracted (h2 (exp (gen) y))) (exp (gen) x)
-    (0 1) (enc (exp (gen) x) a (pubk b))
-    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))))
-  (label 3)
-  (parent 1)
-  (unrealized (0 3))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h2 base) (x y expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) (mul x (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (precur (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x (rec w))) w)) (exp (gen) x)
-    (0 1) (enc (exp (gen) x) a (pubk b))
-    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (cat (exp (gen) (mul x (rec w))) w))
-      (send (cat (exp (gen) (mul x (rec w))) w))))
-  (label 4)
-  (parent 1)
-  (unrealized (0 3) (2 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h2 base) (x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (1 0))
-  (operation nonce-test (contracted (x-0 x) (w x)) (gen) (1 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (gen) x)) (send (cat (gen) x))))
-  (label 5)
-  (parent 2)
-  (unrealized (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b b-0 a-0 name) (h2 h1 base) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (1 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y) b-0 (pubk a-0)))))
-  (label 6)
-  (parent 2)
-  (unrealized (0 1) (0 3) (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h2 base) (x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x)
-  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one)))))
-  (label 7)
-  (parent 2)
-  (unrealized (0 3) (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (h2 base) (x x-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (a a-0) (b b-0) (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
-  (label 8)
-  (parent 2)
-  (unrealized (0 1) (0 3) (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (b a name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 3) (0 3)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation encryption-test (displaced 1 2 resp 4)
-    (enc n (exp (gen) (mul x y-0))) (0 3))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y))))))
-  (label 9)
-  (parent 3)
-  (unrealized (1 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (0 3)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation encryption-test (added-listener (exp (gen) (mul x y)))
-    (enc n (exp (gen) (mul x y))) (0 3))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
-  (label 10)
-  (parent 3)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h2 base) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (precur (2 0))
-  (operation nonce-test (contracted (x-0 x) (w x)) (gen) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (cat (gen) x)) (send (cat (gen) x))))
-  (label 11)
-  (parent 4)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h2 base) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (precedes ((0 0) (1 0)) ((1 1) (2 0)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y))))))
-  (label 12)
-  (parent 4)
-  (unrealized (0 1) (0 3) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b b-0 a-0 name) (h2 h1 base) (y x y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y-0) b-0 (pubk a-0)))))
-  (label 13)
-  (parent 4)
-  (unrealized (0 1) (0 3) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h2 base) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x) (one)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one)))))
-  (label 14)
-  (parent 4)
-  (seen 16)
-  (unrealized (0 3) (2 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (h2 base) (y x x-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (a a-0) (b b-0) (x x-0))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 0) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
-  (label 15)
-  (parent 4)
-  (unrealized (0 1) (0 3) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h2 base) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) x) (1 0)
-    (enc (exp (gen) x) a (pubk b)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))))
-  (label 16)
-  (parent 7)
-  (unrealized (0 3) (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (b a name) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 0 init 3) (exp (gen) y) (1 2)
-    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x))))))
-  (label 17)
-  (parent 9)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (h2 (exp (gen) y)) (x x) (n n))))
-  (origs (n (1 3))))
-
-(defskeleton dhnsl
-  (vars (n text) (b a name) (x y expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) (mul y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y (rec w))) w)) (exp (gen) y)
-    (1 2) (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (exp (gen) (mul y (rec w))) w))
-      (send (cat (exp (gen) (mul y (rec w))) w))))
-  (label 18)
-  (parent 9)
-  (unrealized (2 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (x y expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) (mul x y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x y (rec w))) w))
-    (exp (gen) (mul x y)) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) (mul x y (rec w))) w))
-      (send (cat (exp (gen) (mul x y (rec w))) w))))
-  (label 19)
-  (parent 10)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h2 base) (y x y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) x) (2 0)
-    (enc (exp (gen) x) a (pubk b)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a)))))
-  (label 20)
-  (parent 14)
-  (seen 16)
-  (unrealized (0 3) (2 0))
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (b a name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (gen) y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (y-0 y) (w y)) (gen) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (gen) y)) (send (cat (gen) y))))
-  (label 21)
-  (parent 18)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (b a name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
-  (label 22)
-  (parent 18)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (b a b-0 a-0 name) (h1 base) (x y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul y (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (exp (gen) y-0) (mul y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y (rec y-0)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y-0) b-0 (pubk a-0)))))
-  (label 23)
-  (parent 18)
-  (unrealized (1 2) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (b a name) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x))))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))))
-    ((recv (cat (exp (gen) x) (mul y (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x))))))
-  (label 24)
-  (parent 18)
-  (unrealized (1 2) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (b a a-0 b-0 name) (x y x-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul y (rec x-0))))
-  (defstrand init 1 (a a-0) (b b-0) (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)) ((3 0) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (exp (gen) x-0) (mul y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y (rec x-0)))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
-  (label 25)
-  (parent 18)
-  (unrealized (1 2) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (precur (3 0))
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul x y))) (gen)
-    (3 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))))
-  (label 26)
-  (parent 19)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 27)
-  (parent 19)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b b-0 a-0 name) (h1 base) (x y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y-0) (mul x y (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y-0) (mul x y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul x y (rec y-0)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y-0) b-0 (pubk a-0)))))
-  (label 28)
-  (parent 19)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x) y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
-  (label 29)
-  (parent 19)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (x y x-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x y (rec x-0))))
-  (defstrand init 1 (a a-0) (b b-0) (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)) ((4 0) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) x-0) (mul x y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x y (rec x-0)))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
-  (label 30)
-  (parent 19)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (b a name) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 3) (exp (gen) y) (2 0)
-    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
-  (label 31)
-  (parent 22)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (b a name) (y x y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x))))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 3) (0 3)) ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) x) (2 0)
-    (enc (exp (gen) x) a (pubk b))
-    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))))
-    ((recv (cat (exp (gen) x) (mul y (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x)))))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a)))))
-  (label 32)
-  (parent 24)
-  (unrealized (1 2) (2 0))
-  (comment "empty cohort"))
-
-(comment "Nothing left to do")
-
-(defprotocol dhnsl diffie-hellman
-  (defrole resp
-    (vars (b a name) (h1 base) (y expn) (n text))
-    (trace (recv (enc h1 a (pubk b)))
-      (send (enc h1 (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    (uniq-orig n)
-    (uniq-gen y)
-    (absent (y h1))
-    (comment "Y should be assumed to be freshly chosen per role"))
-  (defrole init
-    (vars (a b name) (h2 base) (x expn) (n text))
-    (trace (send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 b (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    (uniq-gen x)
-    (comment "X should be assumed to be freshly chosen per role"))
-  (comment
-    "Needham-Schroeder-Lowe DH challenge/responses in place of nonces"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h1 base) (y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (uniq-orig n)
-  (comment "Responder point-of-view")
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n)))
-  (label 33)
-  (unrealized (0 2) (0 4))
-  (origs (n (0 3)))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 3) (exp (gen) y) (0 2)
-    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))))
-  (label 34)
-  (parent 33)
-  (unrealized (0 4))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h1 base) (y expn) (w expr))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (exp (gen) (mul y (rec w))) w))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (uniq-orig n)
-  (precur (1 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y (rec w))) w)) (exp (gen) y)
-    (0 2) (enc h1 (exp (gen) y) b (pubk a)))
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    ((recv (cat (exp (gen) (mul y (rec w))) w))
-      (send (cat (exp (gen) (mul y (rec w))) w))))
-  (label 35)
-  (parent 33)
-  (unrealized (0 4) (1 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 1)) ((0 3) (1 3)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((1 4) (0 4)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 1 2 init 5) n (0 4)
-    (enc n (exp (gen) (mul y x-0))))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n)))
-  (label 36)
-  (parent 34)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (h1 (exp (gen) x)) (y y) (n n))))
-  (origs (n (0 3))))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-0)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (precedes ((0 1) (1 1)) ((0 1) (2 1)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 4) (0 4)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 5) n (0 4)
-    (enc n (exp (gen) (mul y x))))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0))) b-0
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n)))
-  (label 37)
-  (parent 34)
-  (unrealized (2 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (precedes ((0 1) (1 1)) ((0 1) (2 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener (exp (gen) (mul y x))) n (0 4)
-    (enc n (exp (gen) (mul y x))))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))))
-  (label 38)
-  (parent 34)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h1 base) (y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (gen) y))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (uniq-orig n)
-  (precur (1 0))
-  (operation nonce-test (contracted (y-0 y) (w y)) (gen) (1 0))
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n)) ((recv (cat (gen) y)) (send (cat (gen) y))))
-  (label 39)
-  (parent 35)
-  (unrealized (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (h1 base) (y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 0 resp 2) (exp (gen) y-0) (1 0))
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
-  (label 40)
-  (parent 35)
-  (unrealized (0 4) (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b b-0 a-0 name) (h1 h1-0 base) (y y-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul y (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1-0) (y y-0))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y-0 h1-0) (y h1))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    ((recv (cat (exp (gen) y-0) (mul y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y (rec y-0)))))
-    ((recv (enc h1-0 a-0 (pubk b-0)))
-      (send (enc h1-0 (exp (gen) y-0) b-0 (pubk a-0)))))
-  (label 41)
-  (parent 35)
-  (unrealized (0 2) (0 4) (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (h1 base) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x))))
-  (defstrand init 1 (a a-0) (b b-0) (x x))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x) (1 0))
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    ((recv (cat (exp (gen) x) (mul y (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x)))))
-    ((send (enc (exp (gen) x) a-0 (pubk b-0)))))
-  (label 42)
-  (parent 35)
-  (unrealized (0 2) (0 4) (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (y x x-0 expn) (w expr))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-0)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
-    (exp (gen) (mul y x (rec x-0))) (2 1))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0))) b-0
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
-      (send (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))))
-  (label 43)
-  (parent 37)
-  (unrealized (3 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (y x expn) (w expr))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) (mul y x (rec w))) w))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y x (rec w))) w))
-    (exp (gen) (mul y x)) (2 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) (mul y x (rec w))) w))
-      (send (cat (exp (gen) (mul y x (rec w))) w))))
-  (label 44)
-  (parent 38)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 3) (exp (gen) y) (1 0)
-    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))))
-  (label 45)
-  (parent 40)
-  (unrealized (0 4) (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-0)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (gen) (mul y x (rec x-0))))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (y-0 y) (x-1 x) (x-2 x-0) (w (mul y x (rec x-0)))) (gen)
-    (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0))) b-0
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (gen) (mul y x (rec x-0))))
-      (send (cat (gen) (mul y x (rec x-0))))))
-  (label 46)
-  (parent 43)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (x x-0 y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-0)
-    (h2 (exp (gen) (mul x (rec x-0) y))) (x x-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec x-0))))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul x (rec x-0) y)) b-0
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul x (rec x-0) y)) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec x-0))))
-      (send (cat (exp (gen) y) (mul x (rec x-0))))))
-  (label 47)
-  (parent 43)
-  (unrealized (2 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 b-1 a-1 name) (h1 base)
-    (y x x-0 y-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-0)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul y x (rec x-0) (rec y-0))))
-  (defstrand resp 2 (b b-1) (a a-1) (h1 h1) (y y-0))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1))
-    ((4 1) (3 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0))) b-0
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) y-0) (mul y x (rec x-0) (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y x (rec x-0) (rec y-0)))))
-    ((recv (enc h1 a-1 (pubk b-1)))
-      (send (enc h1 (exp (gen) y-0) b-1 (pubk a-1)))))
-  (label 48)
-  (parent 43)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x-0)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x-0))
-  (defstrand init 5 (n n) (a a-0) (b b-0)
-    (h2 (exp (gen) (mul y (rec x) x-0))) (x x))
-  (deflistener (cat (exp (gen) x-0) (mul y (rec x))))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x-0)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x-0) a (pubk b)))
-      (send (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((send (enc (exp (gen) x-0) a (pubk b)))
-      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((send (enc (exp (gen) x) a-0 (pubk b-0)))
-      (recv
-        (enc (exp (gen) x) (exp (gen) (mul y (rec x) x-0)) b-0
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y (rec x) x-0)) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul y (rec x))))
-      (send (cat (exp (gen) x-0) (mul y (rec x))))))
-  (label 49)
-  (parent 43)
-  (unrealized (2 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-0)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0))) b-0
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))))
-  (label 50)
-  (parent 43)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 a-1 b-1 name) (y x x-0 x-1 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-0)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
-  (defstrand init 1 (a a-1) (b b-1) (x x-1))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1))
-    ((4 0) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0))) b-0
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1)))))
-    ((send (enc (exp (gen) x-1) a-1 (pubk b-1)))))
-  (label 51)
-  (parent 43)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (gen) (mul y x)))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen)
-    (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (gen) (mul y x))) (send (cat (gen) (mul y x)))))
-  (label 52)
-  (parent 44)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (x y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 53)
-  (parent 44)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b b-0 a-0 name) (h1 base) (y x y-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y-0) (mul y x (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y-0))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)) ((4 1) (3 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y-0) (mul y x (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y x (rec y-0)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y-0) b-0 (pubk a-0)))))
-  (label 54)
-  (parent 44)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x) y))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
-  (label 55)
-  (parent 44)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0))))
-  (defstrand init 1 (a a-0) (b b-0) (x x-0))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)) ((4 0) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y x (rec x-0)))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
-  (label 56)
-  (parent 44)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (x y x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x-0)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x-0))
-  (defstrand init 5 (n n) (a a-0) (b b-0)
-    (h2 (exp (gen) (mul (rec x) y x-0))) (x x))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
-  (precedes ((0 1) (1 1)) ((0 3) (2 3)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((1 2) (3 0)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x-0)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 init 3) (exp (gen) y) (3 0)
-    (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
-  (traces
-    ((recv (enc (exp (gen) x-0) a (pubk b)))
-      (send (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((send (enc (exp (gen) x-0) a (pubk b)))
-      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((send (enc (exp (gen) x) a-0 (pubk b-0)))
-      (recv
-        (enc (exp (gen) x) (exp (gen) (mul (rec x) y x-0)) b-0
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul (rec x) y x-0)) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
-      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
-  (label 57)
-  (parent 47)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhnsl
-  (vars (n text) (a b a-0 b-0 name) (y x x-0 y-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x-0)) (y y))
-  (defstrand init 3 (a a) (b b) (h2 (exp (gen) y)) (x x-0))
-  (defstrand init 5 (n n) (a a-0) (b b-0)
-    (h2 (exp (gen) (mul y (rec x) x-0))) (x x))
-  (deflistener (cat (exp (gen) x-0) (mul y (rec x))))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x-0)) (y y-0))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 0) (4 0)) ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4))
-    ((3 1) (2 1)) ((4 1) (3 0)))
-  (absent (y-0 (exp (gen) x-0)) (y (exp (gen) x-0)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) x-0) (3 0)
-    (enc (exp (gen) x-0) a (pubk b))
-    (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
-  (traces
-    ((recv (enc (exp (gen) x-0) a (pubk b)))
-      (send (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((send (enc (exp (gen) x-0) a (pubk b)))
-      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
-      (send (enc (exp (gen) y) (pubk b))))
-    ((send (enc (exp (gen) x) a-0 (pubk b-0)))
-      (recv
-        (enc (exp (gen) x) (exp (gen) (mul y (rec x) x-0)) b-0
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y (rec x) x-0)) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul y (rec x))))
-      (send (cat (exp (gen) x-0) (mul y (rec x)))))
-    ((recv (enc (exp (gen) x-0) a (pubk b)))
-      (send (enc (exp (gen) x-0) (exp (gen) y-0) b (pubk a)))))
-  (label 58)
-  (parent 49)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(comment "Nothing left to do")
-
-(defprotocol dhns diffie-hellman
-  (defrole resp
-    (vars (b a name) (h1 base) (y expn) (n text))
-    (trace (recv (enc h1 a (pubk b)))
-      (send (enc h1 (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    (uniq-orig n)
-    (uniq-gen y)
-    (absent (y h1))
-    (comment "Y should be assumed to be freshly chosen per role"))
-  (defrole init
-    (vars (a b name) (h2 base) (x expn) (n text))
-    (trace (send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    (uniq-gen x)
-    (comment "X should be assumed to be freshly chosen per role"))
-  (comment
-    "Needham-Schroeder-Lowe DH challenge/responses in place of nonces"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h2 base) (x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (comment "Initiator point-of-view")
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n)))
-  (label 59)
-  (unrealized (0 1) (0 3))
-  (origs)
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h2 base) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) x) (0 1)
-    (enc (exp (gen) x) a (pubk b)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))))
-  (label 60)
-  (parent 59)
-  (unrealized (0 1) (0 3))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h2 base) (x expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) (mul x (rec w))) w))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (1 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x (rec w))) w)) (exp (gen) x)
-    (0 1) (enc (exp (gen) x) a (pubk b)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (exp (gen) (mul x (rec w))) w))
-      (send (cat (exp (gen) (mul x (rec w))) w))))
-  (label 61)
-  (parent 59)
-  (unrealized (0 3) (1 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation nonce-test (contracted (h2 (exp (gen) y))) (exp (gen) x)
-    (0 1) (enc (exp (gen) x) a (pubk b))
-    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))))
-  (label 62)
-  (parent 60)
-  (unrealized (0 3))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h2 base) (x y expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) (mul x (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (precur (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x (rec w))) w)) (exp (gen) x)
-    (0 1) (enc (exp (gen) x) a (pubk b))
-    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (cat (exp (gen) (mul x (rec w))) w))
-      (send (cat (exp (gen) (mul x (rec w))) w))))
-  (label 63)
-  (parent 60)
-  (unrealized (0 3) (2 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h2 base) (x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (1 0))
-  (operation nonce-test (contracted (x-0 x) (w x)) (gen) (1 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (gen) x)) (send (cat (gen) x))))
-  (label 64)
-  (parent 61)
-  (unrealized (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 name) (h2 h1 base) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (1 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y) (pubk a-0)))))
-  (label 65)
-  (parent 61)
-  (unrealized (0 1) (0 3) (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h2 base) (x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x)
-  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one)))))
-  (label 66)
-  (parent 61)
-  (unrealized (0 3) (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b a-0 b-0 name) (h2 base) (x x-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (a a-0) (b b-0) (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
-  (label 67)
-  (parent 61)
-  (unrealized (0 1) (0 3) (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (b a name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 3) (0 3)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation encryption-test (displaced 1 2 resp 4)
-    (enc n (exp (gen) (mul x y-0))) (0 3))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y))))))
-  (label 68)
-  (parent 62)
-  (unrealized (1 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (0 3)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation encryption-test (added-listener (exp (gen) (mul x y)))
-    (enc n (exp (gen) (mul x y))) (0 3))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
-  (label 69)
-  (parent 62)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h2 base) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (precur (2 0))
-  (operation nonce-test (contracted (x-0 x) (w x)) (gen) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (cat (gen) x)) (send (cat (gen) x))))
-  (label 70)
-  (parent 63)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h2 base) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (precedes ((0 0) (1 0)) ((1 1) (2 0)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y))))))
-  (label 71)
-  (parent 63)
-  (unrealized (0 1) (0 3) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 name) (h2 h1 base) (y x y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (cat (exp (gen) y-0) (mul x (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul x (rec y-0)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y-0) (pubk a-0)))))
-  (label 72)
-  (parent 63)
-  (unrealized (0 1) (0 3) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h2 base) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x) (one)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one)))))
-  (label 73)
-  (parent 63)
-  (seen 75)
-  (unrealized (0 3) (2 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b a-0 b-0 name) (h2 base) (y x x-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (a a-0) (b b-0) (x x-0))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 0) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
-  (label 74)
-  (parent 63)
-  (unrealized (0 1) (0 3) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h2 base) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) x) (1 0)
-    (enc (exp (gen) x) a (pubk b)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))))
-  (label 75)
-  (parent 66)
-  (unrealized (0 3) (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (b a name) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 0 init 3) (exp (gen) y) (1 2)
-    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x))))))
-  (label 76)
-  (parent 68)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (h2 (exp (gen) y)) (x x) (n n))))
-  (origs (n (1 3))))
-
-(defskeleton dhns
-  (vars (n text) (b a name) (x y expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) (mul y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y (rec w))) w)) (exp (gen) y)
-    (1 2) (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (exp (gen) (mul y (rec w))) w))
-      (send (cat (exp (gen) (mul y (rec w))) w))))
-  (label 77)
-  (parent 68)
-  (unrealized (2 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (x y expn) (w expr))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) (mul x y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x y (rec w))) w))
-    (exp (gen) (mul x y)) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) (mul x y (rec w))) w))
-      (send (cat (exp (gen) (mul x y (rec w))) w))))
-  (label 78)
-  (parent 69)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h2 base) (y x y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 h2) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) x) (2 0)
-    (enc (exp (gen) x) a (pubk b)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a)))))
-  (label 79)
-  (parent 73)
-  (seen 75)
-  (unrealized (0 3) (2 0))
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (b a name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (gen) y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (y-0 y) (w y)) (gen) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (gen) y)) (send (cat (gen) y))))
-  (label 80)
-  (parent 77)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (b a name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
-  (label 81)
-  (parent 77)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (b a b-0 a-0 name) (h1 base) (x y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul y (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (exp (gen) y-0) (mul y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y (rec y-0)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y-0) (pubk a-0)))))
-  (label 82)
-  (parent 77)
-  (unrealized (1 2) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (b a name) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x))))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))))
-    ((recv (cat (exp (gen) x) (mul y (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x))))))
-  (label 83)
-  (parent 77)
-  (unrealized (1 2) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (b a a-0 b-0 name) (x y x-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul y (rec x-0))))
-  (defstrand init 1 (a a-0) (b b-0) (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (1 2)) ((3 0) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))))
-    ((recv (cat (exp (gen) x-0) (mul y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y (rec x-0)))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
-  (label 84)
-  (parent 77)
-  (unrealized (1 2) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (precur (3 0))
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul x y))) (gen)
-    (3 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))))
-  (label 85)
-  (parent 78)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (x y expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 86)
-  (parent 78)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 name) (h1 base) (x y y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y-0) (mul x y (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1) (y y-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y-0) (mul x y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul x y (rec y-0)))))
-    ((recv (enc h1 a-0 (pubk b-0)))
-      (send (enc h1 (exp (gen) y-0) (pubk a-0)))))
-  (label 87)
-  (parent 78)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x) y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
-  (label 88)
-  (parent 78)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b a-0 b-0 name) (x y x-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x y (rec x-0))))
-  (defstrand init 1 (a a-0) (b b-0) (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
-    ((3 1) (2 0)) ((4 0) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) x-0) (mul x y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x y (rec x-0)))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
-  (label 89)
-  (parent 78)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (b a name) (y x expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 3) (exp (gen) y) (2 0)
-    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
-  (label 90)
-  (parent 81)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (b a name) (y x y-0 expn))
-  (defstrand init 5 (n n) (a a) (b b) (h2 (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x))))
-  (defstrand resp 2 (b b) (a a) (h1 (exp (gen) x)) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((1 1) (2 0))
-    ((1 3) (0 3)) ((2 1) (1 2)) ((3 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) x) (2 0)
-    (enc (exp (gen) x) a (pubk b))
-    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-  (traces
-    ((send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))))
-    ((recv (cat (exp (gen) x) (mul y (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x)))))
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a)))))
-  (label 91)
-  (parent 83)
-  (unrealized (1 2) (2 0))
-  (comment "empty cohort"))
-
-(comment "Nothing left to do")
-
-(defprotocol dhns diffie-hellman
-  (defrole resp
-    (vars (b a name) (h1 base) (y expn) (n text))
-    (trace (recv (enc h1 a (pubk b)))
-      (send (enc h1 (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    (uniq-orig n)
-    (uniq-gen y)
-    (absent (y h1))
-    (comment "Y should be assumed to be freshly chosen per role"))
-  (defrole init
-    (vars (a b name) (h2 base) (x expn) (n text))
-    (trace (send (enc (exp (gen) x) a (pubk b)))
-      (recv (enc (exp (gen) x) h2 (pubk a))) (send (enc h2 (pubk b)))
-      (recv (enc n (exp h2 x))) (send n))
-    (uniq-gen x)
-    (comment "X should be assumed to be freshly chosen per role"))
-  (comment
-    "Needham-Schroeder-Lowe DH challenge/responses in place of nonces"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h1 base) (y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (uniq-orig n)
-  (comment "Responder point-of-view")
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n)))
-  (label 92)
-  (unrealized (0 2) (0 4))
-  (origs (n (0 3)))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 3) (exp (gen) y) (0 2)
-    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0)))))
-  (label 93)
-  (parent 92)
-  (unrealized (0 4))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h1 base) (y expn) (w expr))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (exp (gen) (mul y (rec w))) w))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (uniq-orig n)
-  (precur (1 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y (rec w))) w)) (exp (gen) y)
-    (0 2) (enc h1 (exp (gen) y) (pubk a)))
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    ((recv (cat (exp (gen) (mul y (rec w))) w))
-      (send (cat (exp (gen) (mul y (rec w))) w))))
-  (label 94)
-  (parent 92)
-  (unrealized (0 4) (1 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (b a b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 5 (n n) (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 1)) ((0 3) (1 3)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((1 4) (0 4)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 1 2 init 5) n (0 4)
-    (enc n (exp (gen) (mul y x-0))))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n)))
-  (label 95)
-  (parent 93)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (h1 (exp (gen) x)) (y y) (n n))))
-  (origs (n (0 3))))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (precedes ((0 1) (1 1)) ((0 1) (2 1)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 4) (0 4)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 5) n (0 4)
-    (enc n (exp (gen) (mul y x))))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n)))
-  (label 96)
-  (parent 93)
-  (unrealized (2 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (precedes ((0 1) (1 1)) ((0 1) (2 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener (exp (gen) (mul y x))) n (0 4)
-    (enc n (exp (gen) (mul y x))))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))))
-  (label 97)
-  (parent 93)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h1 base) (y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (gen) y))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (uniq-orig n)
-  (precur (1 0))
-  (operation nonce-test (contracted (y-0 y) (w y)) (gen) (1 0))
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n)) ((recv (cat (gen) y)) (send (cat (gen) y))))
-  (label 98)
-  (parent 94)
-  (unrealized (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b name) (h1 base) (y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 0 resp 2) (exp (gen) y-0) (1 0))
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
-  (label 99)
-  (parent 94)
-  (unrealized (0 4) (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 name) (h1 h1-0 base) (y y-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul y (rec y-0))))
-  (defstrand resp 2 (b b-0) (a a-0) (h1 h1-0) (y y-0))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y-0 h1-0) (y h1))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    ((recv (cat (exp (gen) y-0) (mul y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y (rec y-0)))))
-    ((recv (enc h1-0 a-0 (pubk b-0)))
-      (send (enc h1-0 (exp (gen) y-0) (pubk a-0)))))
-  (label 100)
-  (parent 94)
-  (unrealized (0 2) (0 4) (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b a-0 b-0 name) (h1 base) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 h1) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x))))
-  (defstrand init 1 (a a-0) (b b-0) (x x))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
-  (absent (y h1))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x) (1 0))
-  (traces
-    ((recv (enc h1 a (pubk b))) (send (enc h1 (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b))) (send (enc n (exp h1 y)))
-      (recv n))
-    ((recv (cat (exp (gen) x) (mul y (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x)))))
-    ((send (enc (exp (gen) x) a-0 (pubk b-0)))))
-  (label 101)
-  (parent 94)
-  (unrealized (0 2) (0 4) (1 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn) (w expr))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
-    (exp (gen) (mul y x (rec x-0))) (2 1))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
-      (send (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))))
-  (label 102)
-  (parent 96)
-  (unrealized (3 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (y x expn) (w expr))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) (mul y x (rec w))) w))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y x (rec w))) w))
-    (exp (gen) (mul y x)) (2 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) (mul y x (rec w))) w))
-      (send (cat (exp (gen) (mul y x (rec w))) w))))
-  (label 103)
-  (parent 97)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 3) (exp (gen) y) (1 0)
-    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0)))))
-  (label 104)
-  (parent 99)
-  (unrealized (0 4))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (gen) (mul y x (rec x-0))))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (y-0 y) (x-1 x) (x-2 x-0) (w (mul y x (rec x-0)))) (gen)
-    (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (gen) (mul y x (rec x-0))))
-      (send (cat (gen) (mul y x (rec x-0))))))
-  (label 105)
-  (parent 102)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (x x-0 y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul x (rec x-0) y))) (x x-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec x-0))))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul x (rec x-0) y))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul x (rec x-0) y)) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec x-0))))
-      (send (cat (exp (gen) y) (mul x (rec x-0))))))
-  (label 106)
-  (parent 102)
-  (unrealized (2 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 b-2 a-1 name) (h1 base)
-    (y x x-0 y-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul y x (rec x-0) (rec y-0))))
-  (defstrand resp 2 (b b-2) (a a-1) (h1 h1) (y y-0))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1))
-    ((4 1) (3 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) y-0) (mul y x (rec x-0) (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y x (rec x-0) (rec y-0)))))
-    ((recv (enc h1 a-1 (pubk b-2)))
-      (send (enc h1 (exp (gen) y-0) (pubk a-1)))))
-  (label 107)
-  (parent 102)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x-0)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x-0))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y (rec x) x-0))) (x x))
-  (deflistener (cat (exp (gen) x-0) (mul y (rec x))))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x-0)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x-0) a (pubk b)))
-      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((send (enc (exp (gen) x-0) a (pubk b-0)))
-      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x) (exp (gen) (mul y (rec x) x-0)) (pubk a-0)))
-      (send (enc (exp (gen) (mul y (rec x) x-0)) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul y (rec x))))
-      (send (cat (exp (gen) x-0) (mul y (rec x))))))
-  (label 108)
-  (parent 102)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))))
-  (label 109)
-  (parent 102)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 a-1 b-2 name) (y x x-0 x-1 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
-  (defstrand init 1 (a a-1) (b b-2) (x x-1))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
-    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1))
-    ((4 0) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1)))))
-    ((send (enc (exp (gen) x-1) a-1 (pubk b-2)))))
-  (label 110)
-  (parent 102)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (gen) (mul y x)))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen)
-    (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (gen) (mul y x))) (send (cat (gen) (mul y x)))))
-  (label 111)
-  (parent 103)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (x y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 112)
-  (parent 103)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 b-1 a-0 name) (h1 base) (y x y-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y-0) (mul y x (rec y-0))))
-  (defstrand resp 2 (b b-1) (a a-0) (h1 h1) (y y-0))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)) ((4 1) (3 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y-0) (mul y x (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y x (rec y-0)))))
-    ((recv (enc h1 a-0 (pubk b-1)))
-      (send (enc h1 (exp (gen) y-0) (pubk a-0)))))
-  (label 113)
-  (parent 103)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x) y))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
-  (label 114)
-  (parent 103)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0))))
-  (defstrand init 1 (a a-0) (b b-1) (x x-0))
-  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((2 1) (0 4)) ((3 1) (2 0)) ((4 0) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y x (rec x-0)))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))))
-  (label 115)
-  (parent 103)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (b a b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 5 (n n) (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (precedes ((0 1) (2 1)) ((0 3) (2 3)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((2 4) (0 4)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk b) (privk a))
-  (precur (1 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 3 init 5) n (0 4)
-    (enc n (exp (gen) (mul y x-0))))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n)))
-  (label 116)
-  (parent 104)
-  (seen 95)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (precedes ((0 1) (2 1)) ((0 1) (3 1)) ((0 3) (3 3)) ((1 1) (0 2))
-    ((2 0) (0 0)) ((2 2) (1 0)) ((3 4) (0 4)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 5) n (0 4)
-    (enc n (exp (gen) (mul y x))))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n)))
-  (label 117)
-  (parent 104)
-  (unrealized (3 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (precedes ((0 1) (2 1)) ((0 1) (3 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((3 1) (0 4)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener (exp (gen) (mul y x))) n (0 4)
-    (enc n (exp (gen) (mul y x))))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))))
-  (label 118)
-  (parent 104)
-  (unrealized (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (x y x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x-0)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x-0))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul (rec x) y x-0))) (x x))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
-  (precedes ((0 1) (1 1)) ((0 3) (2 3)) ((1 0) (0 0)) ((1 2) (0 2))
-    ((1 2) (3 0)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
-  (absent (y (exp (gen) x-0)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 init 3) (exp (gen) y) (3 0)
-    (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
-  (traces
-    ((recv (enc (exp (gen) x-0) a (pubk b)))
-      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((send (enc (exp (gen) x-0) a (pubk b-0)))
-      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x) (exp (gen) (mul (rec x) y x-0)) (pubk a-0)))
-      (send (enc (exp (gen) (mul (rec x) y x-0)) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
-      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
-  (label 119)
-  (parent 106)
-  (unrealized (2 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn) (w expr))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
-    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
-    ((4 1) (3 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
-    (exp (gen) (mul y x (rec x-0))) (3 1))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
-      (send (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))))
-  (label 120)
-  (parent 117)
-  (unrealized (4 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (y x expn) (w expr))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) (mul y x (rec w))) w))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y x (rec w))) w))
-    (exp (gen) (mul y x)) (3 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) (mul y x (rec w))) w))
-      (send (cat (exp (gen) (mul y x (rec w))) w))))
-  (label 121)
-  (parent 118)
-  (unrealized (4 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (gen) (mul y x (rec x-0))))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
-    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
-    ((4 1) (3 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (y-0 y) (x-1 x) (x-2 x-0) (w (mul y x (rec x-0)))) (gen)
-    (4 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (gen) (mul y x (rec x-0))))
-      (send (cat (gen) (mul y x (rec x-0))))))
-  (label 122)
-  (parent 120)
-  (unrealized (3 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (x x-0 y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul x (rec x-0) y))) (x x-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec x-0))))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
-    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
-    ((4 1) (3 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul x (rec x-0) y))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul x (rec x-0) y)) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec x-0))))
-      (send (cat (exp (gen) y) (mul x (rec x-0))))))
-  (label 123)
-  (parent 120)
-  (unrealized (3 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 b-2 a-1 name) (h1 base)
-    (y x x-0 y-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul y x (rec x-0) (rec y-0))))
-  (defstrand resp 2 (b b-2) (a a-1) (h1 h1) (y y-0))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
-    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
-    ((4 1) (3 1)) ((5 1) (4 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen y x x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) y-0) (mul y x (rec x-0) (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y x (rec x-0) (rec y-0)))))
-    ((recv (enc h1 a-1 (pubk b-2)))
-      (send (enc h1 (exp (gen) y-0) (pubk a-1)))))
-  (label 124)
-  (parent 120)
-  (unrealized (3 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x-0)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x-0))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y (rec x) x-0))) (x x))
-  (deflistener (cat (exp (gen) x-0) (mul y (rec x))))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
-    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
-    ((4 1) (3 1)))
-  (absent (y (exp (gen) x-0)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 2 init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((recv (enc (exp (gen) x-0) a (pubk b)))
-      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x-0) a (pubk b-0)))
-      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x) (exp (gen) (mul y (rec x) x-0)) (pubk a-0)))
-      (send (enc (exp (gen) (mul y (rec x) x-0)) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul y (rec x))))
-      (send (cat (exp (gen) x-0) (mul y (rec x))))))
-  (label 125)
-  (parent 120)
-  (unrealized (3 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
-    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
-    ((4 1) (3 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))))
-  (label 126)
-  (parent 120)
-  (unrealized (3 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 a-1 b-2 name) (y x x-0 x-1 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
-  (defstrand init 1 (a a-1) (b b-2) (x x-1))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
-    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
-    ((4 1) (3 1)) ((5 0) (4 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen y x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
-      (recv
-        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
-          (pubk a-0)))
-      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((recv (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1)))))
-    ((send (enc (exp (gen) x-1) a-1 (pubk b-2)))))
-  (label 127)
-  (parent 120)
-  (unrealized (3 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (gen) (mul y x)))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen)
-    (4 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (gen) (mul y x))) (send (cat (gen) (mul y x)))))
-  (label 128)
-  (parent 121)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (x y expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul x y)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 129)
-  (parent 121)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 b-1 a-0 name) (h1 base) (y x y-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y-0) (mul y x (rec y-0))))
-  (defstrand resp 2 (b b-1) (a a-0) (h1 h1) (y y-0))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)) ((5 1) (4 0)))
-  (absent (y-0 h1) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y-0) (mul y x (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y x (rec y-0)))))
-    ((recv (enc h1 a-0 (pubk b-1)))
-      (send (enc h1 (exp (gen) y-0) (pubk a-0)))))
-  (label 130)
-  (parent 121)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 name) (y x expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x) y))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 2 init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
-  (label 131)
-  (parent 121)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0))))
-  (defstrand init 1 (a a-0) (b b-1) (x x-0))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)) ((5 0) (4 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (4 0) (1 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((recv (enc (exp (gen) x) a (pubk b)))
-      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (recv (enc (exp (gen) y) (pubk b)))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((send (enc (exp (gen) x) a (pubk b-0)))
-      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
-      (send (enc (exp (gen) y) (pubk b-0))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y x (rec x-0)))))
-    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))))
-  (label 132)
-  (parent 121)
-  (unrealized (3 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton dhns
-  (vars (n text) (a b b-0 a-0 b-1 name) (x y x-0 expn))
-  (defstrand resp 5 (n n) (b b) (a a) (h1 (exp (gen) x-0)) (y y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand init 3 (a a) (b b-0) (h2 (exp (gen) y)) (x x-0))
-  (defstrand init 5 (n n) (a a-0) (b b-1)
-    (h2 (exp (gen) (mul (rec x) y x-0))) (x x))
+(comment "CPSA 3.5.0")
+(comment "All input read from dhnsl_use.scm")
+
+(defprotocol dhnsl diffie-hellman
+  (defrole resp
+    (vars (b a name) (x expt) (y rndx) (n text))
+    (trace (recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    (uniq-orig n)
+    (uniq-gen y)
+    (absent (y (exp (gen) x)))
+    (comment "Y should be assumed to be freshly chosen per role"))
+  (defrole init
+    (vars (a b name) (y expt) (x rndx) (n text))
+    (trace (send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    (uniq-gen x)
+    (comment "X should be assumed to be freshly chosen per role"))
+  (comment
+    "Needham-Schroeder-Lowe DH challenge/responses in place of nonces"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y expt) (x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (comment "Initiator point-of-view")
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n)))
+  (label 0)
+  (unrealized (0 1) (0 3))
+  (origs)
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y-0 x)
+  (operation nonce-test (added-strand resp 2) (exp (gen) x) (0 1)
+    (enc (exp (gen) x) a (pubk b)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1) (0 3))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y expt) (x rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (deflistener (cat (exp (gen) (mul x (rec w))) w))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (precur (1 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x (rec w))) w)) (exp (gen) x)
+    (0 1) (enc (exp (gen) x) a (pubk b)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) (mul x (rec w))) w))
+      (send (cat (exp (gen) (mul x (rec w))) w))))
+  (label 2)
+  (parent 0)
+  (unrealized (1 0))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation nonce-test (contracted (y-0 y) (y-1 y)) (exp (gen) x) (0 1)
+    (enc (exp (gen) x) a (pubk b))
+    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))))
+  (label 3)
+  (parent 1)
+  (unrealized (0 3))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y expt) (y-0 x rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) (mul x (rec w))) w))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y-0 x)
+  (precur (2 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x (rec w))) w)) (exp (gen) x)
+    (0 1) (enc (exp (gen) x) a (pubk b))
+    (enc (exp (gen) x) (exp (gen) y-0) b (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
+    ((recv (cat (exp (gen) (mul x (rec w))) w))
+      (send (cat (exp (gen) (mul x (rec w))) w))))
+  (label 4)
+  (parent 1)
+  (unrealized (2 0))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y expt) (x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (deflistener (cat (gen) x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (precur (1 0))
+  (operation nonce-test (contracted (x-0 x) (w x)) (gen) (1 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (gen) x)) (send (cat (gen) x))))
+  (label 5)
+  (parent 2)
+  (unrealized (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b b-0 a-0 name) (y x expt) (x-0 y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x-0))
+  (deflistener (cat (exp (gen) y-0) (mul x-0 (rec y-0))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x) (y y-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen x-0 y-0)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
+  (traces
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (cat (exp (gen) y-0) (mul x-0 (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x-0 (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b-0 (pubk a-0)))))
+  (label 6)
+  (parent 2)
+  (unrealized (0 1) (0 3) (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y expt) (x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (deflistener (cat (exp (gen) x) (one)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen x)
+  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one)))))
+  (label 7)
+  (parent 2)
+  (unrealized (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (y expt) (x x-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen x x-0)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
+  (label 8)
+  (parent 2)
+  (unrealized (0 1) (0 3) (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (b a name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 3) (0 3)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation encryption-test (displaced 1 2 resp 4)
+    (enc n (exp (gen) (mul x y-0))) (0 3))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y))))))
+  (label 9)
+  (parent 3)
+  (unrealized (1 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (0 3)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation encryption-test (added-listener (exp (gen) (mul x y)))
+    (enc n (exp (gen) (mul x y))) (0 3))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
+  (label 10)
+  (parent 3)
+  (unrealized (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (gen) x))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y-0 x)
+  (precur (2 0))
+  (operation nonce-test (contracted (x-0 x) (w x)) (gen) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
+    ((recv (cat (gen) x)) (send (cat (gen) x))))
+  (label 11)
+  (parent 4)
+  (unrealized (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y expt) (x y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0))))
+  (precedes ((0 0) (1 0)) ((1 1) (2 0)) ((2 1) (0 1)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (2 0))
+  (uniq-gen x y-0)
+  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-1) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
+    ((recv (cat (exp (gen) y-0) (mul x (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x (rec y-0))))))
+  (label 12)
+  (parent 4)
+  (unrealized (0 1) (0 3) (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b b-0 a-0 name) (y expt) (y-0 rndx) (x expt)
+    (x-0 y-1 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x-0))
+  (defstrand resp 2 (b b) (a a) (x x-0) (y y-0))
+  (deflistener (cat (exp (gen) y-1) (mul x-0 (rec y-1))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x) (y y-1))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)))
+  (absent (y-1 (exp (gen) x)) (y-0 (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (2 0))
+  (uniq-gen y-0 x-0 y-1)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (2 0))
+  (traces
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y-0) b (pubk a))))
+    ((recv (cat (exp (gen) y-1) (mul x-0 (rec y-1))))
+      (send (cat (exp (gen) y-1) (mul x-0 (rec y-1)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x) (exp (gen) y-1) b-0 (pubk a-0)))))
+  (label 13)
+  (parent 4)
+  (unrealized (0 1) (0 3) (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) x) (one)))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (2 0))
+  (uniq-gen y-0 x)
+  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
+    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one)))))
+  (label 14)
+  (parent 4)
+  (seen 16)
+  (unrealized (2 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (y expt) (y-0 x x-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 0) (2 0)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (2 0))
+  (uniq-gen y-0 x x-0)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
+    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
+  (label 15)
+  (parent 4)
+  (unrealized (0 1) (0 3) (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (deflistener (cat (exp (gen) x) (one)))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y-0 x)
+  (operation nonce-test (added-strand resp 2) (exp (gen) x) (1 0)
+    (enc (exp (gen) x) a (pubk b)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a)))))
+  (label 16)
+  (parent 7)
+  (unrealized (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (b a name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 2 0 init 3) (exp (gen) y) (1 2)
+    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x))))))
+  (label 17)
+  (parent 9)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (y y) (x x) (n n))))
+  (origs (n (1 3))))
+
+(defskeleton dhnsl
+  (vars (n text) (b a name) (x y rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) (mul y (rec w))) w))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (precur (2 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y (rec w))) w)) (exp (gen) y)
+    (1 2) (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))))
+    ((recv (cat (exp (gen) (mul y (rec w))) w))
+      (send (cat (exp (gen) (mul y (rec w))) w))))
+  (label 18)
+  (parent 9)
+  (unrealized (2 0))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (x y rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) (mul x y (rec w))) w))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x y (rec w))) w))
+    (exp (gen) (mul x y)) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) (mul x y (rec w))) w))
+      (send (cat (exp (gen) (mul x y (rec w))) w))))
+  (label 19)
+  (parent 10)
+  (unrealized (3 0))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y expt) (y-0 y-1 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) x) (one)))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-1))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)))
+  (absent (y-1 (exp (gen) x)) (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (2 0))
+  (uniq-gen y-0 y-1 x)
+  (operation nonce-test (added-strand resp 2) (exp (gen) x) (2 0)
+    (enc (exp (gen) x) a (pubk b)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a))))
+    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-1) b (pubk a)))))
+  (label 20)
+  (parent 14)
+  (seen 16)
+  (unrealized (2 0))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (b a name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (gen) y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (precur (2 0))
+  (operation nonce-test (contracted (y-0 y) (w y)) (gen) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))))
+    ((recv (cat (gen) y)) (send (cat (gen) y))))
+  (label 21)
+  (parent 18)
+  (unrealized (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (b a name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
+  (label 22)
+  (parent 18)
+  (unrealized (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (b a b-0 a-0 name) (x rndx) (x-0 expt) (y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y-0) (mul y (rec y-0))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x-0) (y y-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)) ((3 1) (2 0)))
+  (absent (y-0 (exp (gen) x-0)) (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen x y y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))))
+    ((recv (cat (exp (gen) y-0) (mul y (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y (rec y-0)))))
+    ((recv (enc (exp (gen) x-0) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x-0) (exp (gen) y-0) b-0 (pubk a-0)))))
+  (label 23)
+  (parent 18)
+  (unrealized (1 2) (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (b a name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) x) (mul y (rec x))))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))))
+    ((recv (cat (exp (gen) x) (mul y (rec x))))
+      (send (cat (exp (gen) x) (mul y (rec x))))))
+  (label 24)
+  (parent 18)
+  (unrealized (1 2) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (b a a-0 b-0 name) (x y x-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) x-0) (mul y (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)) ((3 0) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen x y x-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))))
+    ((recv (cat (exp (gen) x-0) (mul y (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
+  (label 25)
+  (parent 18)
+  (unrealized (1 2) (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (gen) (mul x y)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (precur (3 0))
+  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul x y))) (gen)
+    (3 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))))
+  (label 26)
+  (parent 19)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y)
+  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 27)
+  (parent 19)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b b-0 a-0 name) (x expt) (x-0 y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x-0))
+  (defstrand resp 2 (b b) (a a) (x x-0) (y y))
+  (deflistener (exp (gen) (mul x-0 y)))
+  (deflistener (cat (exp (gen) y-0) (mul x-0 y (rec y-0))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x) (y y-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x-0 y y-0)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x-0 y)))) (send n))
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) b (pubk a))))
+    ((recv (exp (gen) (mul x-0 y))) (send (exp (gen) (mul x-0 y))))
+    ((recv (cat (exp (gen) y-0) (mul x-0 y (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x-0 y (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b-0 (pubk a-0)))))
+  (label 28)
+  (parent 19)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) x) y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x)
+  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
+  (label 29)
+  (parent 19)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (x y x-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) x-0) (mul x y (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)) ((4 0) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y x-0)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) x-0) (mul x y (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul x y (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
+  (label 30)
+  (parent 19)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (b a name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((1 3) (0 3))
+    ((2 1) (1 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 3 0 init 3) (exp (gen) y) (2 0)
+    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
+  (label 31)
+  (parent 22)
+  (unrealized (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (b a name) (y y-0 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) x) (mul y (rec x))))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((1 1) (2 0))
+    ((1 3) (0 3)) ((2 1) (1 2)) ((3 1) (2 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen y y-0 x)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) x) (2 0)
+    (enc (exp (gen) x) a (pubk b))
+    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))))
+    ((recv (cat (exp (gen) x) (mul y (rec x))))
+      (send (cat (exp (gen) x) (mul y (rec x)))))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b (pubk a)))))
+  (label 32)
+  (parent 24)
+  (unrealized (1 2) (2 0))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol dhnsl diffie-hellman
+  (defrole resp
+    (vars (b a name) (x expt) (y rndx) (n text))
+    (trace (recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    (uniq-orig n)
+    (uniq-gen y)
+    (absent (y (exp (gen) x)))
+    (comment "Y should be assumed to be freshly chosen per role"))
+  (defrole init
+    (vars (a b name) (y expt) (x rndx) (n text))
+    (trace (send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    (uniq-gen x)
+    (comment "X should be assumed to be freshly chosen per role"))
+  (comment
+    "Needham-Schroeder-Lowe DH challenge/responses in place of nonces"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (x expt) (y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (uniq-orig n)
+  (comment "Responder point-of-view")
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n)))
+  (label 33)
+  (unrealized (0 2) (0 4))
+  (origs (n (0 3)))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 3) (exp (gen) y) (0 2)
+    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))))
+  (label 34)
+  (parent 33)
+  (unrealized (0 4))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (x expt) (y rndx) (w expt))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) (mul y (rec w))) w))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (uniq-orig n)
+  (precur (1 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y (rec w))) w)) (exp (gen) y)
+    (0 2) (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((recv (cat (exp (gen) (mul y (rec w))) w))
+      (send (cat (exp (gen) (mul y (rec w))) w))))
+  (label 35)
+  (parent 33)
+  (unrealized (1 0))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (precedes ((0 1) (1 1)) ((0 3) (1 3)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((1 4) (0 4)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 1 2 init 5) n (0 4)
+    (enc n (exp (gen) (mul y x-0))))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n)))
+  (label 36)
+  (parent 34)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (x x) (y y) (n n))))
+  (origs (n (0 3))))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (y (mul y x (rec x-0)))
+    (x x-0))
+  (precedes ((0 1) (1 1)) ((0 1) (2 1)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 4) (0 4)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 5) n (0 4)
+    (enc n (exp (gen) (mul y x))))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0))) b-0
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n)))
+  (label 37)
+  (parent 34)
+  (unrealized (2 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (precedes ((0 1) (1 1)) ((0 1) (2 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (added-listener (exp (gen) (mul y x))) n (0 4)
+    (enc n (exp (gen) (mul y x))))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))))
+  (label 38)
+  (parent 34)
+  (unrealized (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (x expt) (y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (gen) y))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (uniq-orig n)
+  (precur (1 0))
+  (operation nonce-test (contracted (y-0 y) (w y)) (gen) (1 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((recv (cat (gen) y)) (send (cat (gen) y))))
+  (label 39)
+  (parent 35)
+  (unrealized (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (x expt) (y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 2 0 resp 2) (exp (gen) y-0) (1 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
+  (label 40)
+  (parent 35)
+  (unrealized (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b b-0 a-0 name) (x x-0 expt) (y y-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y-0) (mul y (rec y-0))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x-0) (y y-0))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
+  (absent (y-0 (exp (gen) x-0)) (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((recv (cat (exp (gen) y-0) (mul y (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y (rec y-0)))))
+    ((recv (enc (exp (gen) x-0) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x-0) (exp (gen) y-0) b-0 (pubk a-0)))))
+  (label 41)
+  (parent 35)
+  (unrealized (0 2) (0 4) (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (x expt) (y x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) x-0) (mul y (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y x-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((recv (cat (exp (gen) x-0) (mul y (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
+  (label 42)
+  (parent 35)
+  (unrealized (0 2) (0 4) (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (y x x-0 rndx) (w expt))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
+    (exp (gen) (mul y x (rec x-0))) (2 1))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0))) b-0
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
+      (send (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))))
+  (label 43)
+  (parent 37)
+  (unrealized (3 0))
+  (comment "6 in cohort - 6 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y x rndx) (w expt))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) (mul y x (rec w))) w))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y x (rec w))) w))
+    (exp (gen) (mul y x)) (2 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) (mul y x (rec w))) w))
+      (send (cat (exp (gen) (mul y x (rec w))) w))))
+  (label 44)
+  (parent 38)
+  (unrealized (3 0))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 3) (exp (gen) y) (1 0)
+    (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))))
+  (label 45)
+  (parent 40)
+  (unrealized (0 4) (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (gen) (mul y x (rec x-0))))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (precur (3 0))
+  (operation nonce-test
+    (contracted (y-0 y) (x-1 x) (x-2 x-0) (w (mul y x (rec x-0)))) (gen)
+    (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0))) b-0
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (gen) (mul y x (rec x-0))))
+      (send (cat (gen) (mul y x (rec x-0))))))
+  (label 46)
+  (parent 43)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (x x-0 y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (y (mul (rec x) x-0 y)) (x x))
+  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x x-0 y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x-0 y)))) (recv n))
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((send (enc (exp (gen) x) a-0 (pubk b-0)))
+      (recv
+        (enc (exp (gen) x) (exp (gen) (mul (rec x) x-0 y)) b-0
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul (rec x) x-0 y)) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul x-0 y)))) (send n))
+    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
+      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
+  (label 47)
+  (parent 43)
+  (unrealized (2 1) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 b-1 a-1 name) (x expt)
+    (y x-0 x-1 y-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (y (mul y x-0 (rec x-1)))
+    (x x-1))
+  (deflistener (cat (exp (gen) y-0) (mul y x-0 (rec x-1) (rec y-0))))
+  (defstrand resp 2 (b b-1) (a a-1) (x x) (y y-0))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1))
+    ((4 1) (3 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x-0 x-1 y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((send (enc (exp (gen) x-1) a-0 (pubk b-0)))
+      (recv
+        (enc (exp (gen) x-1) (exp (gen) (mul y x-0 (rec x-1))) b-0
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x-0 (rec x-1))) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (cat (exp (gen) y-0) (mul y x-0 (rec x-1) (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y x-0 (rec x-1) (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-1 (pubk b-1)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b-1 (pubk a-1)))))
+  (label 48)
+  (parent 43)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (y (mul y (rec x) x-0)) (x x))
+  (deflistener (cat (exp (gen) x-0) (mul y (rec x))))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-1) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((send (enc (exp (gen) x) a-0 (pubk b-0)))
+      (recv
+        (enc (exp (gen) x) (exp (gen) (mul y (rec x) x-0)) b-0
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y (rec x) x-0)) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (cat (exp (gen) x-0) (mul y (rec x))))
+      (send (cat (exp (gen) x-0) (mul y (rec x))))))
+  (label 49)
+  (parent 43)
+  (unrealized (2 1) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 2 init 1) (exp (gen) x-1) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0))) b-0
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))))
+  (label 50)
+  (parent 43)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 a-1 b-1 name) (y x x-0 x-1 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
+  (defstrand init 1 (a a-1) (b b-1) (x x-1))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1))
+    ((4 0) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x x-0 x-1)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0))) b-0
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
+      (send (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1)))))
+    ((send (enc (exp (gen) x-1) a-1 (pubk b-1)))))
+  (label 51)
+  (parent 43)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (gen) (mul y x)))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (precur (3 0))
+  (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen)
+    (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (gen) (mul y x))) (send (cat (gen) (mul y x)))))
+  (label 52)
+  (parent 44)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (x y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 53)
+  (parent 44)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b b-0 a-0 name) (x expt) (y x-0 y-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x-0))
+  (deflistener (exp (gen) (mul y x-0)))
+  (deflistener (cat (exp (gen) y-0) (mul y x-0 (rec y-0))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x) (y y-0))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)) ((4 1) (3 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x-0 y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((recv (exp (gen) (mul y x-0))) (send (exp (gen) (mul y x-0))))
+    ((recv (cat (exp (gen) y-0) (mul y x-0 (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y x-0 (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) b-0 (pubk a-0)))))
+  (label 54)
+  (parent 44)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) x) y))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
+  (label 55)
+  (parent 44)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)) ((4 0) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y x (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
+  (label 56)
+  (parent 44)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (x y x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (y (mul (rec x) y x-0)) (x x))
+  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
+  (precedes ((0 1) (1 1)) ((0 3) (2 3)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((1 2) (3 0)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y x-0)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 1 init 3) (exp (gen) y) (3 0)
+    (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((send (enc (exp (gen) x) a-0 (pubk b-0)))
+      (recv
+        (enc (exp (gen) x) (exp (gen) (mul (rec x) y x-0)) b-0
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul (rec x) y x-0)) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
+      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
+  (label 57)
+  (parent 47)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhnsl
+  (vars (n text) (a b a-0 b-0 name) (y x y-0 x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (defstrand init 3 (a a) (b b) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-0) (y (mul y (rec x) x-0)) (x x))
+  (deflistener (cat (exp (gen) x-0) (mul y (rec x))))
+  (defstrand resp 2 (b b) (a a) (x x-0) (y y-0))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 0) (4 0)) ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4))
+    ((3 1) (2 1)) ((4 1) (3 0)))
+  (absent (y-0 (exp (gen) x-0)) (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x y-0 x-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) x-0) (3 0)
+    (enc (exp (gen) x-0) a (pubk b))
+    (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) b (pubk a)))
+      (send (enc (exp (gen) y) (pubk b))))
+    ((send (enc (exp (gen) x) a-0 (pubk b-0)))
+      (recv
+        (enc (exp (gen) x) (exp (gen) (mul y (rec x) x-0)) b-0
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y (rec x) x-0)) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (cat (exp (gen) x-0) (mul y (rec x))))
+      (send (cat (exp (gen) x-0) (mul y (rec x)))))
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y-0) b (pubk a)))))
+  (label 58)
+  (parent 49)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol dhns diffie-hellman
+  (defrole resp
+    (vars (b a name) (x expt) (y rndx) (n text))
+    (trace (recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    (uniq-orig n)
+    (uniq-gen y)
+    (absent (y (exp (gen) x)))
+    (comment "Y should be assumed to be freshly chosen per role"))
+  (defrole init
+    (vars (a b name) (y expt) (x rndx) (n text))
+    (trace (send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    (uniq-gen x)
+    (comment "X should be assumed to be freshly chosen per role"))
+  (comment
+    "Needham-Schroeder-Lowe DH challenge/responses in place of nonces"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y expt) (x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (comment "Initiator point-of-view")
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n)))
+  (label 59)
+  (unrealized (0 1) (0 3))
+  (origs)
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y-0 x)
+  (operation nonce-test (added-strand resp 2) (exp (gen) x) (0 1)
+    (enc (exp (gen) x) a (pubk b)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a)))))
+  (label 60)
+  (parent 59)
+  (unrealized (0 1) (0 3))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y expt) (x rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (deflistener (cat (exp (gen) (mul x (rec w))) w))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (precur (1 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x (rec w))) w)) (exp (gen) x)
+    (0 1) (enc (exp (gen) x) a (pubk b)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) (mul x (rec w))) w))
+      (send (cat (exp (gen) (mul x (rec w))) w))))
+  (label 61)
+  (parent 59)
+  (unrealized (1 0))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation nonce-test (contracted (y-0 y) (y-1 y)) (exp (gen) x) (0 1)
+    (enc (exp (gen) x) a (pubk b))
+    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))))
+  (label 62)
+  (parent 60)
+  (unrealized (0 3))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y expt) (y-0 x rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) (mul x (rec w))) w))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y-0 x)
+  (precur (2 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x (rec w))) w)) (exp (gen) x)
+    (0 1) (enc (exp (gen) x) a (pubk b))
+    (enc (exp (gen) x) (exp (gen) y-0) (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a))))
+    ((recv (cat (exp (gen) (mul x (rec w))) w))
+      (send (cat (exp (gen) (mul x (rec w))) w))))
+  (label 63)
+  (parent 60)
+  (unrealized (2 0))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y expt) (x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (deflistener (cat (gen) x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (precur (1 0))
+  (operation nonce-test (contracted (x-0 x) (w x)) (gen) (1 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (gen) x)) (send (cat (gen) x))))
+  (label 64)
+  (parent 61)
+  (unrealized (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 name) (y x expt) (x-0 y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x-0))
+  (deflistener (cat (exp (gen) y-0) (mul x-0 (rec y-0))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x) (y y-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen x-0 y-0)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
+  (traces
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (cat (exp (gen) y-0) (mul x-0 (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x-0 (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a-0)))))
+  (label 65)
+  (parent 61)
+  (unrealized (0 1) (0 3) (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y expt) (x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (deflistener (cat (exp (gen) x) (one)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen x)
+  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one)))))
+  (label 66)
+  (parent 61)
+  (unrealized (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b a-0 b-0 name) (y expt) (x x-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen x x-0)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
+  (label 67)
+  (parent 61)
+  (unrealized (0 1) (0 3) (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (b a name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 3) (0 3)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation encryption-test (displaced 1 2 resp 4)
+    (enc n (exp (gen) (mul x y-0))) (0 3))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y))))))
+  (label 68)
+  (parent 62)
+  (unrealized (1 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (0 3)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation encryption-test (added-listener (exp (gen) (mul x y)))
+    (enc n (exp (gen) (mul x y))) (0 3))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
+  (label 69)
+  (parent 62)
+  (unrealized (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (gen) x))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y-0 x)
+  (precur (2 0))
+  (operation nonce-test (contracted (x-0 x) (w x)) (gen) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a))))
+    ((recv (cat (gen) x)) (send (cat (gen) x))))
+  (label 70)
+  (parent 63)
+  (unrealized (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y expt) (x y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) y-0) (mul x (rec y-0))))
+  (precedes ((0 0) (1 0)) ((1 1) (2 0)) ((2 1) (0 1)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (2 0))
+  (uniq-gen x y-0)
+  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-1) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a))))
+    ((recv (cat (exp (gen) y-0) (mul x (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x (rec y-0))))))
+  (label 71)
+  (parent 63)
+  (unrealized (0 1) (0 3) (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 name) (y expt) (y-0 rndx) (x expt)
+    (x-0 y-1 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x-0))
+  (defstrand resp 2 (b b) (a a) (x x-0) (y y-0))
+  (deflistener (cat (exp (gen) y-1) (mul x-0 (rec y-1))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x) (y y-1))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)))
+  (absent (y-1 (exp (gen) x)) (y-0 (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (2 0))
+  (uniq-gen y-0 x-0 y-1)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (2 0))
+  (traces
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y-0) (pubk a))))
+    ((recv (cat (exp (gen) y-1) (mul x-0 (rec y-1))))
+      (send (cat (exp (gen) y-1) (mul x-0 (rec y-1)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x) (exp (gen) y-1) (pubk a-0)))))
+  (label 72)
+  (parent 63)
+  (unrealized (0 1) (0 3) (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) x) (one)))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (2 0))
+  (uniq-gen y-0 x)
+  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a))))
+    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one)))))
+  (label 73)
+  (parent 63)
+  (seen 75)
+  (unrealized (2 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b a-0 b-0 name) (y expt) (y-0 x x-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 0) (2 0)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (2 0))
+  (uniq-gen y-0 x x-0)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a))))
+    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
+  (label 74)
+  (parent 63)
+  (unrealized (0 1) (0 3) (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y expt) (y-0 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (deflistener (cat (exp (gen) x) (one)))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (absent (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y-0 x)
+  (operation nonce-test (added-strand resp 2) (exp (gen) x) (1 0)
+    (enc (exp (gen) x) a (pubk b)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a)))))
+  (label 75)
+  (parent 66)
+  (unrealized (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (b a name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 2 0 init 3) (exp (gen) y) (1 2)
+    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x))))))
+  (label 76)
+  (parent 68)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (y y) (x x) (n n))))
+  (origs (n (1 3))))
+
+(defskeleton dhns
+  (vars (n text) (b a name) (x y rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) (mul y (rec w))) w))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (precur (2 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y (rec w))) w)) (exp (gen) y)
+    (1 2) (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))))
+    ((recv (cat (exp (gen) (mul y (rec w))) w))
+      (send (cat (exp (gen) (mul y (rec w))) w))))
+  (label 77)
+  (parent 68)
+  (unrealized (2 0))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (x y rndx) (w expt))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) (mul x y (rec w))) w))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x y (rec w))) w))
+    (exp (gen) (mul x y)) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) (mul x y (rec w))) w))
+      (send (cat (exp (gen) (mul x y (rec w))) w))))
+  (label 78)
+  (parent 69)
+  (unrealized (3 0))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y expt) (y-0 y-1 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (deflistener (cat (exp (gen) x) (one)))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-1))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)))
+  (absent (y-1 (exp (gen) x)) (y-0 (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (2 0))
+  (uniq-gen y-0 y-1 x)
+  (operation nonce-test (added-strand resp 2) (exp (gen) x) (2 0)
+    (enc (exp (gen) x) a (pubk b)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a))))
+    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-1) (pubk a)))))
+  (label 79)
+  (parent 73)
+  (seen 75)
+  (unrealized (2 0))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (b a name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (gen) y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (precur (2 0))
+  (operation nonce-test (contracted (y-0 y) (w y)) (gen) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))))
+    ((recv (cat (gen) y)) (send (cat (gen) y))))
+  (label 80)
+  (parent 77)
+  (unrealized (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (b a name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
+  (label 81)
+  (parent 77)
+  (unrealized (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (b a b-0 a-0 name) (x rndx) (x-0 expt) (y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y-0) (mul y (rec y-0))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x-0) (y y-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)) ((3 1) (2 0)))
+  (absent (y-0 (exp (gen) x-0)) (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen x y y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))))
+    ((recv (cat (exp (gen) y-0) (mul y (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y (rec y-0)))))
+    ((recv (enc (exp (gen) x-0) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x-0) (exp (gen) y-0) (pubk a-0)))))
+  (label 82)
+  (parent 77)
+  (unrealized (1 2) (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (b a name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) x) (mul y (rec x))))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))))
+    ((recv (cat (exp (gen) x) (mul y (rec x))))
+      (send (cat (exp (gen) x) (mul y (rec x))))))
+  (label 83)
+  (parent 77)
+  (unrealized (1 2) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (b a a-0 b-0 name) (x y x-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) x-0) (mul y (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((1 3) (0 3))
+    ((2 1) (1 2)) ((3 0) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen x y x-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))))
+    ((recv (cat (exp (gen) x-0) (mul y (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
+  (label 84)
+  (parent 77)
+  (unrealized (1 2) (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (gen) (mul x y)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (precur (3 0))
+  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul x y))) (gen)
+    (3 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))))
+  (label 85)
+  (parent 78)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (x y rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y)
+  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 86)
+  (parent 78)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 name) (x expt) (x-0 y y-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x-0))
+  (defstrand resp 2 (b b) (a a) (x x-0) (y y))
+  (deflistener (exp (gen) (mul x-0 y)))
+  (deflistener (cat (exp (gen) y-0) (mul x-0 y (rec y-0))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x) (y y-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x-0 y y-0)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((send (enc (exp (gen) x-0) a (pubk b)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x-0 y)))) (send n))
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a))))
+    ((recv (exp (gen) (mul x-0 y))) (send (exp (gen) (mul x-0 y))))
+    ((recv (cat (exp (gen) y-0) (mul x-0 y (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x-0 y (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a-0)))))
+  (label 87)
+  (parent 78)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) x) y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x)
+  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
+  (label 88)
+  (parent 78)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b a-0 b-0 name) (x y x-0 rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 2 (b b) (a a) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) x-0) (mul x y (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (0 3))
+    ((3 1) (2 0)) ((4 0) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y x-0)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul x y)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) x-0) (mul x y (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul x y (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
+  (label 89)
+  (parent 78)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (b a name) (y x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((1 3) (0 3))
+    ((2 1) (1 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 3 0 init 3) (exp (gen) y) (2 0)
+    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
+  (label 90)
+  (parent 81)
+  (unrealized (2 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (b a name) (y y-0 x rndx))
+  (defstrand init 5 (n n) (a a) (b b) (y y) (x x))
+  (defstrand resp 4 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) x) (mul y (rec x))))
+  (defstrand resp 2 (b b) (a a) (x x) (y y-0))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((1 1) (2 0))
+    ((1 3) (0 3)) ((2 1) (1 2)) ((3 1) (2 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (2 0))
+  (uniq-gen y y-0 x)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) x) (2 0)
+    (enc (exp (gen) x) a (pubk b))
+    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+  (traces
+    ((send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))))
+    ((recv (cat (exp (gen) x) (mul y (rec x))))
+      (send (cat (exp (gen) x) (mul y (rec x)))))
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a)))))
+  (label 91)
+  (parent 83)
+  (unrealized (1 2) (2 0))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol dhns diffie-hellman
+  (defrole resp
+    (vars (b a name) (x expt) (y rndx) (n text))
+    (trace (recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    (uniq-orig n)
+    (uniq-gen y)
+    (absent (y (exp (gen) x)))
+    (comment "Y should be assumed to be freshly chosen per role"))
+  (defrole init
+    (vars (a b name) (y expt) (x rndx) (n text))
+    (trace (send (enc (exp (gen) x) a (pubk b)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    (uniq-gen x)
+    (comment "X should be assumed to be freshly chosen per role"))
+  (comment
+    "Needham-Schroeder-Lowe DH challenge/responses in place of nonces"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (x expt) (y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (uniq-orig n)
+  (comment "Responder point-of-view")
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n)))
+  (label 92)
+  (unrealized (0 2) (0 4))
+  (origs (n (0 3)))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 3) (exp (gen) y) (0 2)
+    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0)))))
+  (label 93)
+  (parent 92)
+  (unrealized (0 4))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (x expt) (y rndx) (w expt))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) (mul y (rec w))) w))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (uniq-orig n)
+  (precur (1 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y (rec w))) w)) (exp (gen) y)
+    (0 2) (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((recv (cat (exp (gen) (mul y (rec w))) w))
+      (send (cat (exp (gen) (mul y (rec w))) w))))
+  (label 94)
+  (parent 92)
+  (unrealized (1 0))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (b a b-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 5 (n n) (a a) (b b-0) (y y) (x x))
+  (precedes ((0 1) (1 1)) ((0 3) (1 3)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((1 4) (0 4)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 1 2 init 5) n (0 4)
+    (enc n (exp (gen) (mul y x-0))))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n)))
+  (label 95)
+  (parent 93)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (x x) (y y) (n n))))
+  (origs (n (0 3))))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x (rec x-0)))
+    (x x-0))
+  (precedes ((0 1) (1 1)) ((0 1) (2 1)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 4) (0 4)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 5) n (0 4)
+    (enc n (exp (gen) (mul y x))))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n)))
+  (label 96)
+  (parent 93)
+  (unrealized (2 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (precedes ((0 1) (1 1)) ((0 1) (2 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (added-listener (exp (gen) (mul y x))) n (0 4)
+    (enc n (exp (gen) (mul y x))))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))))
+  (label 97)
+  (parent 93)
+  (unrealized (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (x expt) (y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (gen) y))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (uniq-orig n)
+  (precur (1 0))
+  (operation nonce-test (contracted (y-0 y) (w y)) (gen) (1 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((recv (cat (gen) y)) (send (cat (gen) y))))
+  (label 98)
+  (parent 94)
+  (unrealized (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b name) (x expt) (y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 2 0 resp 2) (exp (gen) y-0) (1 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one)))))
+  (label 99)
+  (parent 94)
+  (unrealized (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 name) (x x-0 expt) (y y-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y-0) (mul y (rec y-0))))
+  (defstrand resp 2 (b b-0) (a a-0) (x x-0) (y y-0))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
+  (absent (y-0 (exp (gen) x-0)) (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((recv (cat (exp (gen) y-0) (mul y (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y (rec y-0)))))
+    ((recv (enc (exp (gen) x-0) a-0 (pubk b-0)))
+      (send (enc (exp (gen) x-0) (exp (gen) y-0) (pubk a-0)))))
+  (label 100)
+  (parent 94)
+  (unrealized (0 2) (0 4) (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b a-0 b-0 name) (x expt) (y x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) x-0) (mul y (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-0) (x x-0))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y x-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((recv (cat (exp (gen) x-0) (mul y (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-0)))))
+  (label 101)
+  (parent 94)
+  (unrealized (0 2) (0 4) (1 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx) (w expt))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
+    (exp (gen) (mul y x (rec x-0))) (2 1))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
+      (send (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))))
+  (label 102)
+  (parent 96)
+  (unrealized (3 0))
+  (comment "6 in cohort - 6 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (y x rndx) (w expt))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) (mul y x (rec w))) w))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y x (rec w))) w))
+    (exp (gen) (mul y x)) (2 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) (mul y x (rec w))) w))
+      (send (cat (exp (gen) (mul y x (rec w))) w))))
+  (label 103)
+  (parent 97)
+  (unrealized (3 0))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 3) (exp (gen) y) (1 0)
+    (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0)))))
+  (label 104)
+  (parent 99)
+  (unrealized (0 4))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (gen) (mul y x (rec x-0))))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (precur (3 0))
+  (operation nonce-test
+    (contracted (y-0 y) (x-1 x) (x-2 x-0) (w (mul y x (rec x-0)))) (gen)
+    (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (gen) (mul y x (rec x-0))))
+      (send (cat (gen) (mul y x (rec x-0))))))
+  (label 105)
+  (parent 102)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (x x-0 y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul (rec x) x-0 y)) (x x))
+  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x x-0 y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x-0 y)))) (recv n))
+    ((send (enc (exp (gen) x-0) a (pubk b-0)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x) (exp (gen) (mul (rec x) x-0 y)) (pubk a-0)))
+      (send (enc (exp (gen) (mul (rec x) x-0 y)) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul x-0 y)))) (send n))
+    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
+      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
+  (label 106)
+  (parent 102)
+  (unrealized (2 1) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 b-2 a-1 name) (x expt)
+    (y x-0 x-1 y-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x-0 (rec x-1)))
+    (x x-1))
+  (deflistener (cat (exp (gen) y-0) (mul y x-0 (rec x-1) (rec y-0))))
+  (defstrand resp 2 (b b-2) (a a-1) (x x) (y y-0))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1))
+    ((4 1) (3 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x-0 x-1 y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((send (enc (exp (gen) x-0) a (pubk b-0)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-1) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-1) (exp (gen) (mul y x-0 (rec x-1)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x-0 (rec x-1))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (cat (exp (gen) y-0) (mul y x-0 (rec x-1) (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y x-0 (rec x-1) (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-1 (pubk b-2)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a-1)))))
+  (label 107)
+  (parent 102)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y (rec x) x-0)) (x x))
+  (deflistener (cat (exp (gen) x-0) (mul y (rec x))))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-1) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((send (enc (exp (gen) x-0) a (pubk b-0)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x) (exp (gen) (mul y (rec x) x-0)) (pubk a-0)))
+      (send (enc (exp (gen) (mul y (rec x) x-0)) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (cat (exp (gen) x-0) (mul y (rec x))))
+      (send (cat (exp (gen) x-0) (mul y (rec x))))))
+  (label 108)
+  (parent 102)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 2 init 1) (exp (gen) x-1) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))))
+  (label 109)
+  (parent 102)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 a-1 b-2 name) (y x x-0 x-1 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
+  (defstrand init 1 (a a-1) (b b-2) (x x-1))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((0 3) (2 3)) ((1 0) (0 0))
+    ((1 2) (0 2)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1))
+    ((4 0) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x x-0 x-1)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
+      (send (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1)))))
+    ((send (enc (exp (gen) x-1) a-1 (pubk b-2)))))
+  (label 110)
+  (parent 102)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (gen) (mul y x)))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (precur (3 0))
+  (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen)
+    (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (gen) (mul y x))) (send (cat (gen) (mul y x)))))
+  (label 111)
+  (parent 103)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (x y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 112)
+  (parent 103)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 b-1 a-0 name) (x expt) (y x-0 y-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x-0))
+  (deflistener (exp (gen) (mul y x-0)))
+  (deflistener (cat (exp (gen) y-0) (mul y x-0 (rec y-0))))
+  (defstrand resp 2 (b b-1) (a a-0) (x x) (y y-0))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)) ((4 1) (3 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x-0 y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((send (enc (exp (gen) x-0) a (pubk b-0)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x-0))) (send (exp (gen) (mul y x-0))))
+    ((recv (cat (exp (gen) y-0) (mul y x-0 (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y x-0 (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-1)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a-0)))))
+  (label 113)
+  (parent 103)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) x) y))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
+  (label 114)
+  (parent 103)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-1) (x x-0))
+  (precedes ((0 1) (1 1)) ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((2 1) (0 4)) ((3 1) (2 0)) ((4 0) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y x (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))))
+  (label 115)
+  (parent 103)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (b a b-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 5 (n n) (a a) (b b-0) (y y) (x x))
+  (precedes ((0 1) (2 1)) ((0 3) (2 3)) ((1 1) (0 2)) ((2 0) (0 0))
+    ((2 2) (1 0)) ((2 4) (0 4)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk b) (privk a))
+  (precur (1 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 2 3 init 5) n (0 4)
+    (enc n (exp (gen) (mul y x-0))))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n)))
+  (label 116)
+  (parent 104)
+  (seen 95)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x (rec x-0)))
+    (x x-0))
+  (precedes ((0 1) (2 1)) ((0 1) (3 1)) ((0 3) (3 3)) ((1 1) (0 2))
+    ((2 0) (0 0)) ((2 2) (1 0)) ((3 4) (0 4)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 5) n (0 4)
+    (enc n (exp (gen) (mul y x))))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n)))
+  (label 117)
+  (parent 104)
+  (unrealized (3 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (precedes ((0 1) (2 1)) ((0 1) (3 0)) ((1 1) (0 2)) ((2 0) (0 0))
+    ((2 2) (1 0)) ((3 1) (0 4)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (1 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (added-listener (exp (gen) (mul y x))) n (0 4)
+    (enc n (exp (gen) (mul y x))))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))))
+  (label 118)
+  (parent 104)
+  (unrealized (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (x y x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul (rec x) y x-0)) (x x))
+  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
+  (precedes ((0 1) (1 1)) ((0 3) (2 3)) ((1 0) (0 0)) ((1 2) (0 2))
+    ((1 2) (3 0)) ((2 0) (3 0)) ((2 4) (0 4)) ((3 1) (2 1)))
+  (absent (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y x-0)
+  (uniq-orig n)
+  (operation nonce-test (displaced 4 1 init 3) (exp (gen) y) (3 0)
+    (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((send (enc (exp (gen) x-0) a (pubk b-0)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x) (exp (gen) (mul (rec x) y x-0)) (pubk a-0)))
+      (send (enc (exp (gen) (mul (rec x) y x-0)) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
+      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
+  (label 119)
+  (parent 106)
+  (unrealized (2 1) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx) (w expt))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
+    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
+    ((4 1) (3 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
+    (exp (gen) (mul y x (rec x-0))) (3 1))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))
+      (send (cat (exp (gen) (mul y x (rec x-0) (rec w))) w))))
+  (label 120)
+  (parent 117)
+  (unrealized (4 0))
+  (comment "6 in cohort - 6 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (y x rndx) (w expt))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) (mul y x (rec w))) w))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
+    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul y x (rec w))) w))
+    (exp (gen) (mul y x)) (3 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) (mul y x (rec w))) w))
+      (send (cat (exp (gen) (mul y x (rec w))) w))))
+  (label 121)
+  (parent 118)
+  (unrealized (4 0))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (gen) (mul y x (rec x-0))))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
+    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
+    ((4 1) (3 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test
+    (contracted (y-0 y) (x-1 x) (x-2 x-0) (w (mul y x (rec x-0)))) (gen)
+    (4 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (gen) (mul y x (rec x-0))))
+      (send (cat (gen) (mul y x (rec x-0))))))
+  (label 122)
+  (parent 120)
+  (unrealized (3 1) (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (x x-0 y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul (rec x) x-0 y)) (x x))
+  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
+    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
+    ((4 1) (3 1)))
+  (absent (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen x x-0 y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 5 0 resp 2) (exp (gen) y-0) (4 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x-0 y)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x-0) a (pubk b-0)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x) (exp (gen) (mul (rec x) x-0 y)) (pubk a-0)))
+      (send (enc (exp (gen) (mul (rec x) x-0 y)) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul x-0 y)))) (send n))
+    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
+      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
+  (label 123)
+  (parent 120)
+  (unrealized (3 1) (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 b-2 a-1 name) (x expt)
+    (y x-0 x-1 y-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x-0 (rec x-1)))
+    (x x-1))
+  (deflistener (cat (exp (gen) y-0) (mul y x-0 (rec x-1) (rec y-0))))
+  (defstrand resp 2 (b b-2) (a a-1) (x x) (y y-0))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
+    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
+    ((4 1) (3 1)) ((5 1) (4 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen y x-0 x-1 y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x-0) a (pubk b-0)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-1) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-1) (exp (gen) (mul y x-0 (rec x-1)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x-0 (rec x-1))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (cat (exp (gen) y-0) (mul y x-0 (rec x-1) (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y x-0 (rec x-1) (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-1 (pubk b-2)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a-1)))))
+  (label 124)
+  (parent 120)
+  (unrealized (3 1) (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y (rec x) x-0)) (x x))
+  (deflistener (cat (exp (gen) x-0) (mul y (rec x))))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
+    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
+    ((4 1) (3 1)))
+  (absent (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (displaced 5 2 init 1) (exp (gen) x-1) (4 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x-0) a (pubk b-0)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x) (exp (gen) (mul y (rec x) x-0)) (pubk a-0)))
+      (send (enc (exp (gen) (mul y (rec x) x-0)) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
+    ((recv (cat (exp (gen) x-0) (mul y (rec x))))
+      (send (cat (exp (gen) x-0) (mul y (rec x))))))
+  (label 125)
+  (parent 120)
+  (unrealized (3 1) (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
+    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
+    ((4 1) (3 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (displaced 5 3 init 1) (exp (gen) x-1) (4 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))))
+  (label 126)
+  (parent 120)
+  (unrealized (3 1) (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 a-1 b-2 name) (y x x-0 x-1 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul y x (rec x-0)))
+    (x x-0))
+  (deflistener (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
+  (defstrand init 1 (a a-1) (b b-2) (x x-1))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((0 3) (3 3)) ((1 1) (0 2))
+    ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (4 0)) ((3 4) (0 4))
+    ((4 1) (3 1)) ((5 0) (4 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen y x x-0 x-1)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (4 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))
+      (recv
+        (enc (exp (gen) x-0) (exp (gen) (mul y x (rec x-0)))
+          (pubk a-0)))
+      (send (enc (exp (gen) (mul y x (rec x-0))) (pubk b-1)))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    ((recv (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1))))
+      (send (cat (exp (gen) x-1) (mul y x (rec x-0) (rec x-1)))))
+    ((send (enc (exp (gen) x-1) a-1 (pubk b-2)))))
+  (label 127)
+  (parent 120)
+  (unrealized (3 1) (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (gen) (mul y x)))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
+    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen)
+    (4 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (gen) (mul y x))) (send (cat (gen) (mul y x)))))
+  (label 128)
+  (parent 121)
+  (unrealized (3 0) (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (x y rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
+    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen x y)
+  (uniq-orig n)
+  (operation nonce-test (displaced 5 0 resp 2) (exp (gen) y-0) (4 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 129)
+  (parent 121)
+  (unrealized (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 b-1 a-0 name) (x expt) (y x-0 y-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x-0))
+  (deflistener (exp (gen) (mul y x-0)))
+  (deflistener (cat (exp (gen) y-0) (mul y x-0 (rec y-0))))
+  (defstrand resp 2 (b b-1) (a a-0) (x x) (y y-0))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
+    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)) ((5 1) (4 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen y x-0 y-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
+  (traces
+    ((recv (enc (exp (gen) x-0) a (pubk b)))
+      (send (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x-0) a (pubk b-0)))
+      (recv (enc (exp (gen) x-0) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x-0))) (send (exp (gen) (mul y x-0))))
+    ((recv (cat (exp (gen) y-0) (mul y x-0 (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul y x-0 (rec y-0)))))
+    ((recv (enc (exp (gen) x) a-0 (pubk b-1)))
+      (send (enc (exp (gen) x) (exp (gen) y-0) (pubk a-0)))))
+  (label 130)
+  (parent 121)
+  (unrealized (3 0) (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 name) (y x rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) x) y))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
+    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen y x)
+  (uniq-orig n)
+  (operation nonce-test (displaced 5 2 init 1) (exp (gen) x-0) (4 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
+  (label 131)
+  (parent 121)
+  (unrealized (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (y x x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0))))
+  (defstrand init 1 (a a-0) (b b-1) (x x-0))
+  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
+    ((2 2) (1 0)) ((3 1) (0 4)) ((4 1) (3 0)) ((5 0) (4 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (4 0) (1 0))
+  (uniq-gen y x x-0)
+  (uniq-orig n)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
+  (traces
+    ((recv (enc (exp (gen) x) a (pubk b)))
+      (send (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (recv (enc (exp (gen) y) (pubk b)))
+      (send (enc n (exp (gen) (mul y x)))) (recv n))
+    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
+    ((send (enc (exp (gen) x) a (pubk b-0)))
+      (recv (enc (exp (gen) x) (exp (gen) y) (pubk a)))
+      (send (enc (exp (gen) y) (pubk b-0))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul y x (rec x-0)))))
+    ((send (enc (exp (gen) x-0) a-0 (pubk b-1)))))
+  (label 132)
+  (parent 121)
+  (unrealized (3 0) (4 0))
+  (comment "empty cohort"))
+
+(defskeleton dhns
+  (vars (n text) (a b b-0 a-0 b-1 name) (x y x-0 rndx))
+  (defstrand resp 5 (n n) (b b) (a a) (x x-0) (y y))
+  (deflistener (cat (exp (gen) y) (one)))
+  (defstrand init 3 (a a) (b b-0) (y y) (x x-0))
+  (defstrand init 5 (n n) (a a-0) (b b-1) (y (mul (rec x) y x-0)) (x x))
   (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
   (precedes ((0 1) (2 1)) ((0 3) (3 3)) ((1 1) (0 2)) ((2 0) (0 0))
     ((2 2) (1 0)) ((2 2) (4 0)) ((3 0) (4 0)) ((3 4) (0 4))
diff --git a/tst/enrich.tst b/tst/enrich.tst
--- a/tst/enrich.tst
+++ b/tst/enrich.tst
@@ -1,6 +1,6 @@
 (herald enrich)
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from enrich.scm")
 
 (defprotocol enrich basic
diff --git a/tst/envelope.tst b/tst/envelope.tst
--- a/tst/envelope.tst
+++ b/tst/envelope.tst
@@ -1,6 +1,6 @@
 (herald "Envelope Protocol" (bound 20))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from envelope.scm")
 (comment "Strand count bounded at 20")
 
diff --git a/tst/ffgg.tst b/tst/ffgg.tst
--- a/tst/ffgg.tst
+++ b/tst/ffgg.tst
@@ -1,7 +1,7 @@
 (herald "The ffgg Protocol"
   (comment "From A Necessarily Parallel Attack by Jon K. Millen"))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from ffgg.scm")
 
 (defprotocol ffgg basic
diff --git a/tst/fnof_or.tst b/tst/fnof_or.tst
--- a/tst/fnof_or.tst
+++ b/tst/fnof_or.tst
@@ -2,7 +2,7 @@
   (comment
     "Version using variables of sort mesg, with ltk function emulated."))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from fnof_or.scm")
 
 (defprotocol or basic
diff --git a/tst/fnof_test.tst b/tst/fnof_test.tst
--- a/tst/fnof_test.tst
+++ b/tst/fnof_test.tst
@@ -1,7 +1,7 @@
 (herald "Function constraint test protocol"
   (comment "Skeletons 2, 4, and 7 should have no shapes."))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from fnof_test.scm")
 
 (defprotocol fnoftest basic
diff --git a/tst/fnof_woolam.tst b/tst/fnof_woolam.tst
--- a/tst/fnof_woolam.tst
+++ b/tst/fnof_woolam.tst
@@ -1,6 +1,6 @@
 (herald "Woo-Lam Protocol, using fnof to emulate ltk function")
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from fnof_woolam.scm")
 
 (defprotocol woolam basic
diff --git a/tst/fnof_yahalom.tst b/tst/fnof_yahalom.tst
--- a/tst/fnof_yahalom.tst
+++ b/tst/fnof_yahalom.tst
@@ -2,7 +2,7 @@
   "Yahalom Protocol with Forwarding Removed, using fnof to emulate ltk function"
   (bound 12))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from fnof_yahalom.scm")
 
 (defprotocol yahalom basic
diff --git a/tst/goals.tst b/tst/goals.tst
--- a/tst/goals.tst
+++ b/tst/goals.tst
@@ -1,6 +1,6 @@
 (herald goals)
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from goals.scm")
 
 (defprotocol ns basic
diff --git a/tst/iadh_um.scm b/tst/iadh_um.scm
--- a/tst/iadh_um.scm
+++ b/tst/iadh_um.scm
@@ -28,18 +28,18 @@
 
 (defprotocol iadh-um diffie-hellman
   (defrole participant
-    (vars (l e expn) (hl he base) (self peer name) (key n data))
+    (vars (l e rndx) (lp ep expt) (self peer name) (key n data))
     (trace
      (recv (enc "cert" (exp (gen) l) self (privk self)))
-     (recv (enc "cert" hl peer (privk peer)))
+     (recv (enc "cert" (exp (gen) lp) peer (privk peer)))
      (send (exp (gen) e))
-     (recv he)
+     (recv (exp (gen) ep))
      (send key))
-    (fn-of (foo ((hash (exp hl l) (exp he e)) key)))
+    (fn-of (foo ((hash (exp (gen) (mul l lp)) (exp (gen) (mul e ep))) key)))
     (uniq-gen e)
-    (neq (he (gen))))
+    (neq (ep (one))))
   (defrole ltx-gen
-    (vars (self name) (l expn))
+    (vars (self name) (l rndx))
     (trace
      (send (enc "cert" (exp (gen) l) self (privk self)))
      (send l))
@@ -51,7 +51,7 @@
 ;; Implicit authentication: participants will agree on the resulting key
 ;; foo(key).  Therefore they should agree on the names A and B.
  (defskeleton iadh-um
-  (vars (key data) (eA lA eB lB expn) (A B C D name))
+  (vars (key data) (eA lA eB lB rndx) (A B C D name))
   (defstrand participant 5 (key key) (e eA) (l lA) (self A) (peer C))
   (defstrand participant 5 (key key) (e eB) (l lB) (self B) (peer D))
   (non-orig lA lB)
@@ -62,10 +62,10 @@
 
  ;; Security: 
 (defskeleton iadh-um
-  (vars (e1 e2 l expn) (hl base) (A B name))
-  (defstrand participant 5 (e e1) (l l) (he (exp (gen) e2)) (hl hl) (self A) (peer B))
+  (vars (e1 e2 l rndx) (lp expt) (A B name))
+  (defstrand participant 5 (e e1) (l l) (ep e2) (lp lp) (self A) (peer B))
   (defstrand participant 3 (e e2))
-  (deflistener (hash (exp hl l) (exp (gen) (mul e1 e2))))
+  (deflistener (hash (exp (gen) (mul l lp)) (exp (gen) (mul e1 e2))))
   (non-orig (privk A) (privk B))
 )
 
diff --git a/tst/iadh_um.tst b/tst/iadh_um.tst
# file too large to diff: tst/iadh_um.tst
diff --git a/tst/injection.tst b/tst/injection.tst
--- a/tst/injection.tst
+++ b/tst/injection.tst
@@ -2,7 +2,7 @@
   (comment "This protocol contains a man-in-the-middle"
     "attack discovered by Galvin Lowe."))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from injection.scm")
 
 (defprotocol ns diffie-hellman
diff --git a/tst/kerb.scm b/tst/kerb.scm
--- a/tst/kerb.scm
+++ b/tst/kerb.scm
@@ -42,7 +42,7 @@
   (non-orig (ltk a s) (ltk b s))
   (uniq-orig m))
 
-; This version of the protocol is not modeled properly, with a generic variable (ticket)
+; This version of the protocol is modeled properly, with a generic variable (ticket)
 (defprotocol kerb-flawed2 basic
   (defrole init
     (vars (a b s name) (ticket mesg) (m n text) (k skey))
diff --git a/tst/kerb.tst b/tst/kerb.tst
--- a/tst/kerb.tst
+++ b/tst/kerb.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from kerb.scm")
 
 (defprotocol kerb-flawed basic
diff --git a/tst/kerberos++.tst b/tst/kerberos++.tst
--- a/tst/kerberos++.tst
+++ b/tst/kerberos++.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from kerberos++.scm")
 
 (defprotocol kerberos basic
diff --git a/tst/lt_test.tst b/tst/lt_test.tst
--- a/tst/lt_test.tst
+++ b/tst/lt_test.tst
@@ -2,7 +2,7 @@
   (comment "First and third skeletons should have a shape,"
     "second and fourth should be dead."))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from lt_test.scm")
 
 (defprotocol lttest basic
diff --git a/tst/neq_test.tst b/tst/neq_test.tst
--- a/tst/neq_test.tst
+++ b/tst/neq_test.tst
@@ -2,7 +2,7 @@
   (comment "First skeleton should have a shape,"
     "second, and hird should be dead."))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from neq_test.scm")
 
 (defprotocol neqtest basic
diff --git a/tst/ns.tst b/tst/ns.tst
--- a/tst/ns.tst
+++ b/tst/ns.tst
@@ -2,7 +2,7 @@
   (comment "This protocol contains a man-in-the-middle"
     "attack discovered by Galvin Lowe."))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from ns.scm")
 
 (defprotocol ns basic
diff --git a/tst/or.tst b/tst/or.tst
--- a/tst/or.tst
+++ b/tst/or.tst
@@ -1,7 +1,7 @@
 (herald "Otway-Rees Protocol"
   (comment "Standard version using variables of sort mesg"))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from or.scm")
 
 (defprotocol or basic
diff --git a/tst/owang.tst b/tst/owang.tst
--- a/tst/owang.tst
+++ b/tst/owang.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from owang.scm")
 
 (defprotocol wang basic
diff --git a/tst/owat.tst b/tst/owat.tst
--- a/tst/owat.tst
+++ b/tst/owat.tst
@@ -1,7 +1,7 @@
 (herald "One-way Authentication Test with bltk keys"
   (algebra diffie-hellman) (bound 12))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from owat.scm")
 
 (defprotocol owa diffie-hellman
diff --git a/tst/pkinit.tst b/tst/pkinit.tst
--- a/tst/pkinit.tst
+++ b/tst/pkinit.tst
@@ -1,6 +1,6 @@
 (herald "Kerberos PKINIT")
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from pkinit.scm")
 
 (defprotocol pkinit-flawed basic
diff --git a/tst/plaindh.scm b/tst/plaindh.scm
--- a/tst/plaindh.scm
+++ b/tst/plaindh.scm
@@ -4,18 +4,18 @@
 
 (defprotocol plaindh diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (n text))
+    (vars (x rndx) (y expt) (n text))
     (trace (send (exp (gen) x))
-           (recv h)
-           (send (enc n (exp h x)))
+           (recv (exp (gen) y))
+           (send (enc n (exp (gen) (mul x y))))
            (recv n))
     (uniq-orig n)
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (n text))
-    (trace (recv h)
+    (vars (y rndx) (x expt) (n text))
+    (trace (recv (exp (gen) x))
            (send (exp (gen) y))
-           (recv (enc n (exp h y)))
+           (recv (enc n (exp (gen) (mul x y))))
            (send n))
     (uniq-gen y))
   (comment "Diffie-hellman key exchange followed by an encryption"))
diff --git a/tst/plaindh.tst b/tst/plaindh.tst
--- a/tst/plaindh.tst
+++ b/tst/plaindh.tst
@@ -1,6254 +1,36 @@
 (herald "Plain diffie-hellman protocol with challenge-response"
   (algebra diffie-hellman))
 
-(comment "CPSA 3.4.0")
-(comment "All input read from plaindh.scm")
-
-(defprotocol plaindh diffie-hellman
-  (defrole init
-    (vars (x expn) (h base) (n text))
-    (trace (send (exp (gen) x)) (recv h) (send (enc n (exp h x)))
-      (recv n))
-    (uniq-orig n)
-    (uniq-gen x))
-  (defrole resp
-    (vars (y expn) (h base) (n text))
-    (trace (recv h) (send (exp (gen) y)) (recv (enc n (exp h y)))
-      (send n))
-    (uniq-gen y)
-    (absent (y h)))
-  (comment "Diffie-hellman key exchange followed by an encryption"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn))
-  (defstrand init 4 (n n) (h h) (x x))
-  (uniq-gen x)
-  (uniq-orig n)
-  (traces
-    ((send (exp (gen) x)) (recv h) (send (enc n (exp h x))) (recv n)))
-  (label 0)
-  (unrealized (0 3))
-  (origs (n (0 2)))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp h y)) (x x))
-  (defstrand resp 4 (n n) (h (exp h x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))
-  (absent (y (exp h x)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 4) n (0 3)
-    (enc n (exp h (mul x y))))
-  (traces
-    ((send (exp (gen) x)) (recv (exp h y))
-      (send (enc n (exp h (mul x y)))) (recv n))
-    ((recv (exp h x)) (send (exp (gen) y))
-      (recv (enc n (exp h (mul x y)))) (send n)))
-  (label 1)
-  (parent 0)
-  (unrealized (0 1) (1 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn))
-  (defstrand init 4 (n n) (h h) (x x))
-  (deflistener (exp h x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener (exp h x)) n (0 3)
-    (enc n (exp h x)))
-  (traces
-    ((send (exp (gen) x)) (recv h) (send (enc n (exp h x))) (recv n))
-    ((recv (exp h x)) (send (exp h x))))
-  (label 2)
-  (parent 0)
-  (unrealized (1 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))
-  (absent (y (gen)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen)
-    (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))
-      (send n)))
-  (label 3)
-  (parent 1)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))
-  (absent (y (exp (gen) x)))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x)))) (send n)))
-  (label 4)
-  (parent 1)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 0) (1 0)))
-  (absent (y (exp (gen) x-0)))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((send (exp (gen) x-0))))
-  (label 5)
-  (parent 1)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))) (recv n))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))) (send n))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 6)
-  (parent 1)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr))
-  (defstrand init 4 (n n) (h (exp h y)) (x x))
-  (defstrand resp 4 (n n) (h (exp h x)) (y y))
-  (deflistener (cat (exp h (mul x (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)))
-  (absent (y (exp h x)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w))
-    (exp h x) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp h y))
-      (send (enc n (exp h (mul x y)))) (recv n))
-    ((recv (exp h x)) (send (exp (gen) y))
-      (recv (enc n (exp h (mul x y)))) (send n))
-    ((recv (cat (exp h (mul x (rec w))) w))
-      (send (cat (exp h (mul x (rec w))) w))))
-  (label 7)
-  (parent 1)
-  (unrealized (0 1) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen)
-    (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen))))
-  (label 8)
-  (parent 2)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x)))
-      (recv n)) ((recv (exp (gen) x)) (send (exp (gen) x))))
-  (label 9)
-  (parent 2)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)) ((2 0) (0 1)) ((2 0) (1 0)))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0))))
-  (label 10)
-  (parent 2)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)) ((2 1) (0 1)) ((2 1) (1 0)))
-  (absent (y h))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h) (send (exp (gen) y))))
-  (label 11)
-  (parent 2)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr))
-  (defstrand init 4 (n n) (h h) (x x))
-  (deflistener (exp h x))
-  (deflistener (cat (exp h (mul x (rec w))) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w))
-    (exp h x) (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv h) (send (enc n (exp h x))) (recv n))
-    ((recv (exp h x)) (send (exp h x)))
-    ((recv (cat (exp h (mul x (rec w))) w))
-      (send (cat (exp h (mul x (rec w))) w))))
-  (label 12)
-  (parent 2)
-  (unrealized (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)))
-  (absent (y (gen)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-    (exp (gen) (mul (rec x) y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))
-      (send n))
-    ((recv (cat (exp (gen) (mul (rec x) y (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y (rec w))) w))))
-  (label 13)
-  (parent 3)
-  (unrealized (2 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (absent (y (exp (gen) x)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul y x)))) (recv n)))
-  (label 14)
-  (parent 4)
-  (unrealized)
-  (origs (n (0 2)))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x y x-0 expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))
-    (exp (gen) (mul (rec x) y x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y x-0 (rec w))) w))))
-  (label 15)
-  (parent 5)
-  (unrealized (3 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))
-    (exp (gen) (mul (rec x) y y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))) (recv n))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))) (send n))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y y-0 (rec w))) w))))
-  (label 16)
-  (parent 6)
-  (unrealized (3 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x y expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w))))
-    (gen) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w)))
-      (send (enc n (exp (gen) (mul y w)))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w)))) (send n))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 17)
-  (parent 7)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y w))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y w)))
-      (send (enc n (exp (gen) (mul y w x)))) (recv n))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w x)))) (send n))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 18)
-  (parent 7)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w x-0)))
-      (send (enc n (exp (gen) (mul y w x-0)))) (recv n))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w x-0)))) (send n))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 19)
-  (parent 7)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y-0 h) (y (exp (gen) (mul w y-0))))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w y-0)))
-      (send (enc n (exp (gen) (mul y w y-0)))) (recv n))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w y-0)))) (send n))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 20)
-  (parent 7)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) (mul (rec x) (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) (rec w))) w))
-    (exp (gen) (rec x)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) (mul (rec x) (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) (rec w))) w))))
-  (label 21)
-  (parent 8)
-  (unrealized (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (gen)) (x x))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x)))
-      (recv n)))
-  (label 22)
-  (parent 9)
-  (unrealized)
-  (shape)
-  (maps ((0) ((x x) (h (gen)) (n n))))
-  (origs (n (0 2))))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) x-0 (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) x-0 (rec w))) w))
-    (exp (gen) (mul (rec x) x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) x-0 (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) x-0 (rec w))) w))))
-  (label 23)
-  (parent 10)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)))
-  (absent (y h))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y (rec w))) w))
-    (exp (gen) (mul (rec x) y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) (mul (rec x) y (rec w))) w))
-      (send (cat (exp (gen) (mul (rec x) y (rec w))) w))))
-  (label 24)
-  (parent 11)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w))))
-    (gen) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w)))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 25)
-  (parent 12)
-  (unrealized (0 1))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)))
-  (precur (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul w x)))) (recv n))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 26)
-  (parent 12)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w x-0))) (x x))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w x-0)))
-      (send (enc n (exp (gen) (mul w x-0)))) (recv n))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 27)
-  (parent 12)
-  (unrealized (0 1))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w y)))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv h) (send (exp (gen) y))))
-  (label 28)
-  (parent 12)
-  (unrealized (0 1))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)))
-  (absent (y (gen)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul (rec x) y)))
-    (gen) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))
-      (send n))
-    ((recv (cat (gen) (mul (rec x) y)))
-      (send (cat (gen) (mul (rec x) y)))))
-  (label 29)
-  (parent 13)
-  (unrealized (0 1) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)))
-  (absent (y (gen)))
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))
-      (send n))
-    ((recv (cat (exp (gen) x) (mul y (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x) (rec x))))))
-  (label 30)
-  (parent 13)
-  (unrealized (0 1) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)) ((3 0) (2 0)))
-  (absent (y (gen)))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))
-      (send n))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 31)
-  (parent 13)
-  (unrealized (0 1) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)))
-  (absent (y (gen)))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))
-      (send n))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 32)
-  (parent 13)
-  (unrealized (0 1) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (2 0)) ((1 3) (0 3))
-    ((2 1) (0 1)) ((3 1) (2 0)))
-  (absent (y-0 h) (y (gen)))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))
-      (send n))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 33)
-  (parent 13)
-  (unrealized (0 1) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization forgot ((absent (y (exp (gen) x)))))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul y x)))) (recv n)))
-  (label 34)
-  (parent 14)
-  (unrealized)
-  (shape)
-  (maps ((0) ((x x) (h (exp (gen) y)) (n n))))
-  (origs (n (0 2))))
-
-(defskeleton plaindh
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) y x-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (x-2 x-0) (w (mul (rec x) y x-0))) (gen)
-    (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul (rec x) y x-0)))
-      (send (cat (gen) (mul (rec x) y x-0)))))
-  (label 35)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y x (rec x-0)))) (x x-0))
-  (defstrand resp 4 (n n) (h (exp (gen) x)) (y y))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul y x (rec x-0))))
-      (send (enc n (exp (gen) (mul y x)))) (recv n))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x)))) (send n))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y x (rec x-0) (rec x-0))))))
-  (label 36)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y)))
-      (send (cat (exp (gen) x-0) (mul (rec x) y)))))
-  (label 37)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x y x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)) ((4 0) (3 0)))
-  (absent (y (exp (gen) x-0)))
-  (precur (3 0))
-  (uniq-gen x y x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul (rec x) y x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 38)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0 y)))
-      (send (enc n (exp (gen) (mul x-0 y)))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x-0 y)))) (send n))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
-      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
-  (label 39)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y x-0 y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0))))
-  (defstrand resp 2 (h h) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 0) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-0 h) (y (exp (gen) x-0)))
-  (precur (3 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y x-0 (rec y-0)))))
-    ((recv h) (send (exp (gen) y-0))))
-  (label 40)
-  (parent 15)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (gen) (mul (rec x) y y-0)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (y-2 y-0) (w (mul (rec x) y y-0))) (gen)
-    (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))) (recv n))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))) (send n))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (gen) (mul (rec x) y y-0)))
-      (send (cat (gen) (mul (rec x) y y-0)))))
-  (label 41)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y y-0 x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y y-0 (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x) (mul y y-0 (rec x) (rec x))))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (precur (3 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y y-0 (rec x))))
-      (send (enc n (exp (gen) (mul y y-0)))) (recv n))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))) (send n))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x) (mul y y-0 (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y y-0 (rec x) (rec x))))))
-  (label 42)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 0) (3 0)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (precur (3 0))
-  (uniq-gen x y y-0 x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))) (recv n))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))) (send n))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y y-0 (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 43)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y)) (y y-0))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y-0 (exp (gen) y)) (y h))
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul y y-0)))) (send n))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y)))
-      (send (cat (exp (gen) y-0) (mul (rec x) y)))))
-  (label 44)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) y-0)))
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 resp 2) (exp (gen) y-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))) (recv n))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))) (send n))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y)))
-      (send (cat (exp (gen) y-0) (mul (rec x) y)))))
-  (label 45)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y y-0 y-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1))))
-  (defstrand resp 2 (h h-0) (y y-1))
-  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-1 h-0) (y-0 h) (y (exp (gen) y-0)))
-  (precur (3 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))) (recv n))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))) (send n))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1))))
-      (send (cat (exp (gen) y-1) (mul (rec x) y y-0 (rec y-1)))))
-    ((recv h-0) (send (exp (gen) y-1))))
-  (label 46)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x)) (y y))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)))
-  (absent (y (exp (gen) x)))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))) (recv n))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (cat (gen) x)) (send (cat (gen) x))))
-  (label 47)
-  (parent 17)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x y expn) (w w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) w)))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w)))
-      (send (enc n (exp (gen) (mul y w)))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w)))) (send n))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y w (rec w-0))) w-0))))
-  (label 48)
-  (parent 17)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y w))) (x x))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (absent (y (exp (gen) (mul w x))))
-  (precur (1 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y w)))
-      (send (enc n (exp (gen) (mul y w x)))) (recv n))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 49)
-  (parent 18)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)))
-  (absent (y (exp (gen) x)))
-  (precur (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))) (recv n))
-    ((recv (exp (gen) x)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x y)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 50)
-  (parent 19)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x y expn) (w expr) (x-0 expn) (w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w x-0)))
-      (send (enc n (exp (gen) (mul y w x-0)))) (recv n))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w x-0)))) (send n))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y w x-0 (rec w-0))) w-0))))
-  (label 51)
-  (parent 19)
-  (unrealized (4 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) y-0)) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y h))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))) (recv n))
-    ((recv (exp (gen) x)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 52)
-  (parent 20)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn) (w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y w y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 h) (y (exp (gen) (mul w y-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener
-      (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) y w y-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y w y-0)))
-      (send (enc n (exp (gen) (mul y w y-0)))) (recv n))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y w y-0)))) (send n))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) y w y-0 (rec w-0))) w-0))))
-  (label 53)
-  (parent 20)
-  (unrealized (4 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (rec x)))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (gen) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x)))))
-  (label 54)
-  (parent 21)
-  (unrealized (0 1) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (0 1)))
-  (precur (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x))))))
-  (label 55)
-  (parent 21)
-  (unrealized (0 1) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 56)
-  (parent 21)
-  (unrealized (0 1) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) y) (mul (rec x) (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) y) (mul (rec x) (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) (rec y)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 57)
-  (parent 21)
-  (unrealized (0 1) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) x-0)))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0))) (gen) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul (rec x) x-0)))
-      (send (cat (gen) (mul (rec x) x-0)))))
-  (label 58)
-  (parent 23)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) x))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)))
-  (precur (3 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))) (recv n))
-    ((recv (exp (gen) x)) (send (exp (gen) x))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))))
-  (label 59)
-  (parent 23)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (rec x)))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)))
-  (precur (3 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (rec x)))
-      (send (cat (exp (gen) x-0) (rec x)))))
-  (label 60)
-  (parent 23)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)) ((4 0) (3 0)))
-  (precur (3 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 61)
-  (parent 23)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y h))
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) x-0 (rec y)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 62)
-  (parent 23)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)))
-  (absent (y h))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0))
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul (rec x) y)))
-    (gen) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul (rec x) y)))
-      (send (cat (gen) (mul (rec x) y)))))
-  (label 63)
-  (parent 24)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)))
-  (absent (y h))
-  (precur (3 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul y (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x) (rec x))))))
-  (label 64)
-  (parent 24)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)) ((4 0) (3 0)))
-  (absent (y h))
-  (precur (3 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 65)
-  (parent 24)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)))
-  (absent (y h))
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 2 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 66)
-  (parent 24)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y-0 h-0) (y h))
-  (precur (3 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))))
-    ((recv h-0) (send (exp (gen) y-0))))
-  (label 67)
-  (parent 24)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (gen) x))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (contracted (x-0 x) (w x)) (gen) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x)))
-      (recv n)) ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (gen) x)) (send (cat (gen) x))))
-  (label 68)
-  (parent 25)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) x)) (x x))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)))
-  (precur (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))) (recv n))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x)))))
-  (label 69)
-  (parent 25)
-  (unrealized (1 0) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))) (recv n))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))))
-  (label 70)
-  (parent 25)
-  (unrealized (1 0) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))) (recv n))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y))))
-    ((recv h) (send (exp (gen) y))))
-  (label 71)
-  (parent 25)
-  (unrealized (1 0) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) (mul (rec x) w (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w)))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) (mul (rec x) w (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) w (rec w-0))) w-0))))
-  (label 72)
-  (parent 25)
-  (unrealized (3 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (1 0)) ((1 1) (0 3)))
-  (precur (1 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul w x)))) (recv n))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 73)
-  (parent 26)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w (mul x (rec x-0))) (x-2 x-0)) (gen) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x)))
-      (recv n)) ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 74)
-  (parent 27)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) x-0)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-0)))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x-0 x-0)))) (recv n))
-    ((recv (exp (gen) (mul x-0 x-0))) (send (exp (gen) (mul x-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) x-0 x-0))))
-    ((send (exp (gen) x))))
-  (label 75)
-  (parent 27)
-  (unrealized (1 0) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 3 init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))) (recv n))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))))
-  (label 76)
-  (parent 27)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand init 1 (x x-0))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)) ((4 0) (0 1)) ((4 0) (2 0)))
-  (precur (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-1))
-      (send (enc n (exp (gen) (mul x x-1)))) (recv n))
-    ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1))))
-    ((send (exp (gen) x-0))) ((send (exp (gen) x-1))))
-  (label 77)
-  (parent 27)
-  (unrealized (1 0) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-  (defstrand init 1 (x x-0))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 0) (0 1))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((4 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))) (recv n))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) y))))
-    ((send (exp (gen) x-0))) ((recv h) (send (exp (gen) y))))
-  (label 78)
-  (parent 27)
-  (unrealized (1 0) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn) (w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w x-0))) (x x))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w x-0)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w x-0)))
-      (send (enc n (exp (gen) (mul w x-0)))) (recv n))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) w x-0 (rec w-0))) w-0))))
-  (label 79)
-  (parent 27)
-  (unrealized (4 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) y) (mul x (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w (mul x (rec y))) (y-0 y))
-    (gen) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (gen)) (send (enc n (exp (gen) x)))
-      (recv n)) ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul x (rec y))))
-      (send (cat (exp (gen) y) (mul x (rec y)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 80)
-  (parent 28)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) x)) (x x))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))) (recv n))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) x x)))
-      (send (cat (exp (gen) y) (mul (rec y) x x))))
-    ((recv h) (send (exp (gen) y))))
-  (label 81)
-  (parent 28)
-  (unrealized (1 0) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)) ((4 0) (0 1)) ((4 0) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x-0))
-      (send (enc n (exp (gen) (mul x x-0)))) (recv n))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) x-0))))
-    ((recv h) (send (exp (gen) y))) ((send (exp (gen) x-0))))
-  (label 82)
-  (parent 28)
-  (unrealized (1 0) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)))
-  (absent (y h))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 3 resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y))
-      (send (enc n (exp (gen) (mul x y)))) (recv n))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((recv h) (send (exp (gen) y))))
-  (label 83)
-  (parent 28)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) y-0)) (x x))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (0 1))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((4 1) (2 0)))
-  (absent (y-0 h-0) (y h))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) y-0))
-      (send (enc n (exp (gen) (mul x y-0)))) (recv n))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv h-0) (send (exp (gen) y-0))))
-  (label 84)
-  (parent 28)
-  (unrealized (1 0) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn) (w-0 expr))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-    (exp (gen) (mul (rec x) w y)) (0 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) w y)))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))
-      (send (cat (exp (gen) (mul (rec x) w y (rec w-0))) w-0))))
-  (label 85)
-  (parent 28)
-  (unrealized (4 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 2) (1 2)) ((1 1) (2 0))
-    ((1 3) (0 3)) ((2 1) (0 1)) ((3 1) (2 0)))
-  (absent (y (gen)))
-  (precur (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))
-      (send n))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 86)
-  (parent 32)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test
-    (contracted (x-0 x) (y-0 y) (w-0 (mul x w)) (w-1 (mul w y)) (y-1 y)
-      (w (mul w y))) (gen) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))) (send n))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 87)
-  (parent 48)
-  (unrealized (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul w x x))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))) (recv n))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x x y)))) (send n))
-    ((recv (cat (gen) (mul w x x))) (send (cat (gen) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))))
-  (label 88)
-  (parent 48)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 0) (2 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))) (send n))
-    ((recv (cat (gen) (mul x w x-0))) (send (cat (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0))))
-  (label 89)
-  (parent 48)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 1 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))) (send n))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 90)
-  (parent 48)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))) (send n))
-    ((recv (cat (gen) (mul x w y))) (send (cat (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 91)
-  (parent 48)
-  (unrealized (0 1) (1 0) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y w))) (x x))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (1 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (precur (1 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 1))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y w)))
-      (send (enc n (exp (gen) (mul y w x)))) (recv n))
-    ((recv (cat (exp (gen) x) w))))
-  (label 92)
-  (parent 49)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (w-0 (mul x (rec x-0) w)) (x-2 x-0)
-      (w-1 (mul w y)) (y-1 y) (w (mul w y))) (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 93)
-  (parent 51)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x-0))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x-0 x-0))) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul w x-0 x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul w x-0 x-0 y)))) (recv n))
-    ((recv (exp (gen) (mul w x-0 x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x-0 x-0 y)))) (send n))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))))
-  (label 94)
-  (parent 51)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))))
-  (label 95)
-  (parent 51)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (x-1 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-1 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-1))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w y)))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)))
-  (absent (y (exp (gen) (mul x w x-1))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-1 y)))
-      (send (enc n (exp (gen) (mul x w x-1 y)))) (recv n))
-    ((recv (exp (gen) (mul x w x-1))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-1 y)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w x-1))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w y)))
-      (send (cat (exp (gen) x-1) (mul w y)))) ((send (exp (gen) x-1))))
-  (label 96)
-  (parent 51)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) (mul x w))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 97)
-  (parent 51)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 98)
-  (parent 51)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul x w))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w-0 (mul x (rec y) w)) (y-2 y)
-      (w-1 (mul w y-0)) (y-3 y-0) (w (mul w y-0))) (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul w y-0))) (send (cat (gen) (mul w y-0)))))
-  (label 99)
-  (parent 53)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x x))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul w x x))))
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y-0)))
-      (send (enc n (exp (gen) (mul w x x y-0)))) (recv n))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w x x y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x x))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w y-0)))
-      (send (cat (exp (gen) x) (mul w y-0)))))
-  (label 100)
-  (parent 53)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y-0)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w x-0 y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w x-0 y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w x-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul w y-0)))
-      (send (cat (exp (gen) x-0) (mul w y-0))))
-    ((send (exp (gen) x-0))))
-  (label 101)
-  (parent 53)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 (exp (gen) (mul x w))) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 1 resp 2) (exp (gen) y-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w))))
-  (label 102)
-  (parent 53)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 resp 2) (exp (gen) y-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))))
-  (label 103)
-  (parent 53)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 y-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 y-1))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y-0))) (y y-1))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y-0 h-0) (y h) (y-1 (exp (gen) (mul x w y-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w y-0 y-1)))) (recv n))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y-1))
-      (recv (enc n (exp (gen) (mul x w y-0 y-1)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w y-1)))
-      (send (cat (exp (gen) y-0) (mul w y-1))))
-    ((recv h-0) (send (exp (gen) y-0))))
-  (label 104)
-  (parent 53)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (2 0))
-  (operation nonce-test (added-listener x) (rec x) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x))))
-    ((recv x) (send x)))
-  (label 105)
-  (parent 54)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (precur (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul (rec x) (rec x)) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 106)
-  (parent 55)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 0) (1 0))
-    ((2 0) (3 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (precur (3 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (rec x)))
-      (send (cat (exp (gen) x-0) (rec x)))) ((recv x) (send x)))
-  (label 107)
-  (parent 60)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y h))
-  (precur (3 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 108)
-  (parent 66)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) x)) (x x))
-  (deflistener (exp (gen) (mul x x)))
-  (deflistener (cat (gen) (mul x x)))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (precur (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x x) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) x))
-      (send (enc n (exp (gen) (mul x x)))) (recv n))
-    ((recv (exp (gen) (mul x x))) (send (exp (gen) (mul x x))))
-    ((recv (cat (gen) (mul x x))) (send (cat (gen) (mul x x))))
-    ((recv x) (send x)))
-  (label 109)
-  (parent 69)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (contracted (x-0 x) (w-0 (mul x w)) (w-1 w))
-    (gen) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 110)
-  (parent 72)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x))) (x x))
-  (deflistener (exp (gen) (mul w x x)))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x)))
-      (send (enc n (exp (gen) (mul w x x)))) (recv n))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) (mul w x x))))
-    ((recv (cat (gen) (mul w x x))) (send (cat (gen) (mul w x x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 111)
-  (parent 72)
-  (unrealized (1 0) (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (gen) (mul x w x-0))) (send (cat (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 112)
-  (parent 72)
-  (unrealized (1 0) (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (3 0)))
-  (absent (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (gen) (mul x w y))) (send (cat (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv h) (send (exp (gen) y))))
-  (label 113)
-  (parent 72)
-  (unrealized (1 0) (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul w x)))) (recv n)))
-  (label 114)
-  (parent 73)
-  (unrealized)
-  (shape)
-  (maps ((0) ((x x) (h (exp (gen) w)) (n n))))
-  (origs (n (0 2))))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w-0 (mul x (rec x-0) w)) (x-2 x-0) (w-1 w))
-    (gen) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 115)
-  (parent 79)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x-0))
-  (deflistener (exp (gen) (mul w x-0 x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul w x-0 x-0)))) (recv n))
-    ((recv (exp (gen) (mul w x-0 x-0)))
-      (send (exp (gen) (mul w x-0 x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w))))
-  (label 116)
-  (parent 79)
-  (unrealized (1 0) (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w))))
-  (label 117)
-  (parent 79)
-  (unrealized (1 0) (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-1))) (x x))
-  (deflistener (exp (gen) (mul x w x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) w))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-1)))
-      (send (enc n (exp (gen) (mul x w x-1)))) (recv n))
-    ((recv (exp (gen) (mul x w x-1))) (send (exp (gen) (mul x w x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w x-1))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) w)) (send (cat (exp (gen) x-1) w)))
-    ((send (exp (gen) x-1))))
-  (label 118)
-  (parent 79)
-  (unrealized (1 0) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv h) (send (exp (gen) y))))
-  (label 119)
-  (parent 79)
-  (unrealized (1 0) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w-0 (mul x (rec y) w)) (y-0 y) (w-1 w)) (gen)
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 120)
-  (parent 85)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x))) (x x))
-  (deflistener (exp (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 0 init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x)))
-      (send (enc n (exp (gen) (mul w x x)))) (recv n))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) (mul w x x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x x))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 121)
-  (parent 85)
-  (unrealized (1 0) (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w x-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 122)
-  (parent 85)
-  (unrealized (1 0) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (displaced 5 3 resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 123)
-  (parent 85)
-  (unrealized (1 0) (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (deflistener (exp (gen) (mul x w y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) w))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) (mul x w y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
-    ((recv h-0) (send (exp (gen) y-0))))
-  (label 124)
-  (parent 85)
-  (unrealized (1 0) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))) (send n))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 125)
-  (parent 87)
-  (unrealized (2 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x x))) (y y))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (exp (gen) (mul w x x))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))) (recv n))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x x y)))) (send n))
-    ((recv (cat (gen) (mul w x x))) (send (cat (gen) (mul w x x))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((recv y) (send y)))
-  (label 126)
-  (parent 88)
-  (unrealized (1 0) (2 0) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 0) (2 0)) ((5 1) (3 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))) (send n))
-    ((recv (cat (gen) (mul x w x-0))) (send (cat (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0)))
-    ((recv y) (send y)))
-  (label 127)
-  (parent 89)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (y (gen)))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))
-      (send n)) ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 128)
-  (parent 90)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)))
-  (absent (x w) (y (exp (gen) w)))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w) w (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))) (send n))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))))
-  (label 129)
-  (parent 90)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (2 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))) (send n))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv x) (send x)))
-  (label 130)
-  (parent 90)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (2 0)) ((5 1) (3 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (3 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))) (send n))
-    ((recv (cat (gen) (mul x w y))) (send (cat (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 131)
-  (parent 91)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y w))) (x x))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (1 0)))
-  (precur (1 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation generalization forgot ((absent (y (exp (gen) (mul w x))))))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y w)))
-      (send (enc n (exp (gen) (mul y w x)))) (recv n))
-    ((recv (cat (exp (gen) x) w))))
-  (label 132)
-  (parent 92)
-  (seen 114)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul x w))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 133)
-  (parent 93)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x-0))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x-0 x-0))) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul w x-0 x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul w x-0 x-0 y)))) (recv n))
-    ((recv (exp (gen) (mul w x-0 x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w x-0 x-0 y)))) (send n))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0 x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0 x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((recv y) (send y)))
-  (label 134)
-  (parent 94)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-0 y)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((recv y) (send y)))
-  (label 135)
-  (parent 95)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (x-1 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-1 y))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-1))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w y)))
-  (defstrand init 1 (x x-1))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((6 1) (4 0)))
-  (absent (y (exp (gen) (mul x w x-1))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-1 y)))
-      (send (enc n (exp (gen) (mul x w x-1 y)))) (recv n))
-    ((recv (exp (gen) (mul x w x-1))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w x-1 y)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w x-1))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w y)))
-      (send (cat (exp (gen) x-1) (mul w y)))) ((send (exp (gen) x-1)))
-    ((recv y) (send y)))
-  (label 136)
-  (parent 96)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (y x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x) x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) x-0)) (y y))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) x-0)))
-  (precur (4 0) (2 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0))) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x) x-0)))
-      (send (enc n (exp (gen) (mul y x-0)))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y x-0)))) (send n))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0)))
-      (send (cat (exp (gen) y) (mul (rec x) x-0)))))
-  (label 137)
-  (parent 97)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (x-0 (mul (rec x) w)) (y (exp (gen) w)))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w))
-    (mul (rec x) w) (2 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y (rec x-0))))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))) (send n))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w (rec x-0))))
-      (send (cat (exp (gen) y) (mul w (rec x-0))))))
-  (label 138)
-  (parent 97)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (x-0 (mul x w)) (y (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w)) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y x-0)))
-      (send (enc n (exp (gen) (mul x w y x-0)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y x-0)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w x-0)))
-      (send (cat (exp (gen) y) (mul w x-0)))))
-  (label 139)
-  (parent 97)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((6 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w y))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 140)
-  (parent 98)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0)))
-      (send (enc n (exp (gen) (mul x w y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul w y-0))) (send (cat (gen) (mul w y-0))))
-    ((recv y-0) (send y-0)))
-  (label 141)
-  (parent 99)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul w x x))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w x x))))
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y-0)))
-      (send (enc n (exp (gen) (mul w x x y-0)))) (recv n))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w x x y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x x))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w y-0)))
-      (send (cat (exp (gen) x) (mul w y-0)))) ((recv y-0) (send y-0)))
-  (label 142)
-  (parent 100)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y-0)))
-  (defstrand init 1 (x x-0))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((6 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0 y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y-0)))
-      (send (enc n (exp (gen) (mul x w x-0 y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w x-0 y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w x-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul w y-0)))
-      (send (cat (exp (gen) x-0) (mul w y-0)))) ((send (exp (gen) x-0)))
-    ((recv y-0) (send y-0)))
-  (label 143)
-  (parent 101)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y x y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x) y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) y-0)) (y y))
-  (deflistener (cat (exp (gen) y-0) (one)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) y-0)) (y-0 h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y-0) (w (mul (rec x) y-0))) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x) y-0)))
-      (send (enc n (exp (gen) (mul y y-0)))) (recv n))
-    ((recv (exp (gen) y-0)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul y y-0)))) (send n))
-    ((recv (cat (exp (gen) y-0) (one)))
-      (send (cat (exp (gen) y-0) (one))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) y-0)))
-      (send (cat (exp (gen) y) (mul (rec x) y-0)))))
-  (label 144)
-  (parent 102)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (x (mul (rec y) w)) (y-0 (exp (gen) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w))
-    (mul (rec y) w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x))))))
-  (label 145)
-  (parent 102)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 (mul x w)) (y (exp (gen) (mul x w y-0))) (y-0 h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w)) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y y-0)))) (send n))
-    ((recv (cat (exp (gen) y-0) (mul x w)))
-      (send (cat (exp (gen) y-0) (mul x w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))))
-  (label 146)
-  (parent 102)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y))) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (5 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h) (y-0 (exp (gen) (mul x w y))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul x w y y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))) ((recv y-0) (send y-0)))
-  (label 147)
-  (parent 103)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 y-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 y-1))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y-0))) (y y-1))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w y-1)))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (deflistener y-1)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (6 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((6 1) (4 0)))
-  (absent (y-0 h-0) (y h) (y-1 (exp (gen) (mul x w y-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0 y-1)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-1) (mul w y-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 y-1)))
-      (send (enc n (exp (gen) (mul x w y-0 y-1)))) (recv n))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y-1))
-      (recv (enc n (exp (gen) (mul x w y-0 y-1)))) (send n))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w y-1)))
-      (send (cat (exp (gen) y-0) (mul w y-1))))
-    ((recv h-0) (send (exp (gen) y-0))) ((recv y-1) (send y-1)))
-  (label 148)
-  (parent 104)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (gen) (rec x)))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x)))))
-  (label 149)
-  (parent 110)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (absent (x w))
-  (operation nonce-test (added-absence x w) w (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (gen) (mul w (rec x))))
-      (send (cat (gen) (mul w (rec x))))))
-  (label 150)
-  (parent 110)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (gen) w))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (added-listener x) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (gen) w)) (send (cat (gen) w))) ((recv x) (send x)))
-  (label 151)
-  (parent 110)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (w (mul (rec x) (rec x))) (x-0 x))
-    (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x))))))
-  (label 152)
-  (parent 111)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (absent (x w))
-  (operation nonce-test (added-absence x w) w (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) x) (mul w (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w (rec x) (rec x))))))
-  (label 153)
-  (parent 111)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x))) (x x))
-  (deflistener (exp (gen) (mul w x x)))
-  (deflistener (cat (gen) (mul w x x)))
-  (deflistener (cat (exp (gen) x) w))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w x x) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x)))
-      (send (enc n (exp (gen) (mul w x x)))) (recv n))
-    ((recv (exp (gen) (mul w x x))) (send (exp (gen) (mul w x x))))
-    ((recv (cat (gen) (mul w x x))) (send (cat (gen) (mul w x x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))
-    ((recv x) (send x)))
-  (label 154)
-  (parent 111)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w (mul (rec x) (rec x-0))) (x-2 x-0)) (one)
-    (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 155)
-  (parent 112)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul w x)))
-  (operation nonce-test (added-absence x-0 (mul w x)) (mul w x) (2 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))) (recv n))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (gen) (mul w x))) (send (cat (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((send (exp (gen) x))))
-  (label 156)
-  (parent 112)
-  (unrealized (0 1) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul x w)))
-  (operation nonce-test (added-absence x-0 (mul x w)) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 157)
-  (parent 112)
-  (unrealized (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y) (mul (rec x) (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (3 0)))
-  (absent (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (w (mul (rec x) (rec y))) (y-0 y)) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) y) (mul (rec x) (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) (rec y)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 158)
-  (parent 113)
-  (unrealized (0 1) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (3 0)))
-  (absent (x (mul w y)) (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul w y)) (mul w y) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 159)
-  (parent 113)
-  (unrealized (0 1) (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (3 0)))
-  (absent (y (mul x w)) (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w)) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul w (rec y))))
-      (send (cat (exp (gen) y) (mul w (rec y)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 160)
-  (parent 113)
-  (unrealized (2 0) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul (rec x) x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0))) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul (rec x) x-0)))
-      (send (cat (gen) (mul (rec x) x-0)))))
-  (label 161)
-  (parent 115)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (gen) (mul w (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul (rec x) w)))
-  (operation nonce-test (added-absence x-0 (mul (rec x) w))
-    (mul (rec x) w) (2 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w (rec x-0))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (gen) (mul w (rec x-0))))
-      (send (cat (gen) (mul w (rec x-0))))))
-  (label 162)
-  (parent 115)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul x w)))
-  (operation nonce-test (added-absence x-0 (mul x w)) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w x-0))) (send (cat (gen) (mul w x-0)))))
-  (label 163)
-  (parent 115)
-  (unrealized (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (w (mul x (rec x-0) (rec x-0))) (x-2 x-0)) (one)
-    (2 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))) (recv n))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) (rec x-0))))))
-  (label 164)
-  (parent 116)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x x-0))) (x x))
-  (deflistener (exp (gen) (mul w x x x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w x x)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x) (mul w x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul w x x)))
-  (operation nonce-test (added-absence x-0 (mul w x x)) (mul w x x)
-    (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x x-0)))
-      (send (enc n (exp (gen) (mul w x x x-0)))) (recv n))
-    ((recv (exp (gen) (mul w x x x-0)))
-      (send (exp (gen) (mul w x x x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w x x)))
-      (send (cat (exp (gen) x-0) (mul w x x)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x) (mul w x-0)))
-      (send (cat (exp (gen) x) (mul w x-0)))))
-  (label 165)
-  (parent 116)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul (rec x) w)))
-  (operation nonce-test (added-absence x-0 (mul (rec x) w))
-    (mul (rec x) w) (2 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w (rec x-0))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))))
-  (label 166)
-  (parent 116)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (rec x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-1 x-0) (w (rec x-0))) (one)
-    (2 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))) (recv n))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (rec x-0)))
-      (send (cat (exp (gen) x) (rec x-0)))))
-  (label 167)
-  (parent 117)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 w))
-  (operation nonce-test (added-absence x-0 w) w (2 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))) (recv n))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0))))))
-  (label 168)
-  (parent 117)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-0) w))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((recv x) (send x)))
-  (label 169)
-  (parent 117)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-2 x) (x-3 x-0) (w (mul (rec x) x-0 (rec x-1)))
-      (x-4 x-1)) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul (rec x) x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 170)
-  (parent 118)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 (rec x-1)))) (x x-1))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-1))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul (rec x) w x-0)))
-  (operation nonce-test (added-absence x-1 (mul (rec x) w x-0))
-    (mul (rec x) w x-0) (2 0))
-  (traces
-    ((send (exp (gen) x-1)) (recv (exp (gen) (mul w x-0 (rec x-1))))
-      (send (enc n (exp (gen) (mul w x-0)))) (recv n))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-1))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-1)))))
-    ((send (exp (gen) x-0))))
-  (label 171)
-  (parent 118)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 x-1))) (x x))
-  (deflistener (exp (gen) (mul x w x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) (mul x w x-0)))
-  (defstrand init 1 (x x-1))
-  (deflistener (cat (exp (gen) x-0) (mul w x-1)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul x w x-0)))
-  (operation nonce-test (added-absence x-1 (mul x w x-0)) (mul x w x-0)
-    (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 x-1)))
-      (send (enc n (exp (gen) (mul x w x-0 x-1)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0 x-1)))
-      (send (exp (gen) (mul x w x-0 x-1))))
-    ((recv (cat (exp (gen) x-1) (mul x w x-0)))
-      (send (cat (exp (gen) x-1) (mul x w x-0))))
-    ((send (exp (gen) x-1)))
-    ((recv (cat (exp (gen) x-0) (mul w x-1)))
-      (send (cat (exp (gen) x-0) (mul w x-1))))
-    ((send (exp (gen) x-0))))
-  (label 172)
-  (parent 118)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul x (rec x-0) w)))
-  (operation nonce-test (added-absence x-1 (mul x (rec x-0) w))
-    (mul x (rec x-0) w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul w (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 173)
-  (parent 118)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (deflistener (cat (exp (gen) x-0) (one)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (x-2 x-0) (w (mul (rec x) x-0 (rec y))) (y-0 y))
-    (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) x-0)))
-      (send (enc n (exp (gen) x-0))) (recv n))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-0) (one)))
-      (send (cat (exp (gen) x-0) (one)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul (rec x) x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul (rec x) x-0 (rec y)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 174)
-  (parent 119)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w y)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (x-0 (mul (rec x) w y)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec x) w y))
-    (mul (rec x) w y) (2 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y (rec x-0))))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w y)))
-      (send (cat (exp (gen) x) (mul (rec x) w y))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w (rec x-0))))
-      (send (cat (exp (gen) y) (mul w (rec x-0)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 175)
-  (parent 119)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (deflistener (exp (gen) (mul x w y x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (x-0 (mul x w y)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x w y)) (mul x w y)
-    (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y x-0)))
-      (send (enc n (exp (gen) (mul x w y x-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y x-0)))
-      (send (exp (gen) (mul x w y x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w y)))
-      (send (cat (exp (gen) x-0) (mul x w y)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w x-0)))
-      (send (cat (exp (gen) y) (mul w x-0))))
-    ((recv h) (send (exp (gen) y))))
-  (label 176)
-  (parent 119)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y (mul x (rec x-0) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x (rec x-0) w))
-    (mul x (rec x-0) w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w (rec y))))
-      (send (cat (exp (gen) y) (mul w (rec y)))))
-    ((recv h) (send (exp (gen) y))))
-  (label 177)
-  (parent 119)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul (rec x) y)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul (rec x) y)))
-    (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul (rec x) y)))
-      (send (cat (gen) (mul (rec x) y)))))
-  (label 178)
-  (parent 120)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (x (mul (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w))
-    (mul (rec y) w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul w (rec x))))
-      (send (cat (gen) (mul w (rec x))))))
-  (label 179)
-  (parent 120)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y (mul x w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w)) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 180)
-  (parent 120)
-  (unrealized (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul y (rec x) (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (y-0 y) (w (mul y (rec x) (rec x))) (x-0 x)) (one)
-    (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul y (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul y (rec x) (rec x))))))
-  (label 181)
-  (parent 121)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (deflistener (exp (gen) (mul w x x y)))
-  (deflistener (cat (exp (gen) y) (mul w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y (mul w x x)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul w x x)) (mul w x x) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))) (recv n))
-    ((recv (exp (gen) (mul w x x y))) (send (exp (gen) (mul w x x y))))
-    ((recv (cat (exp (gen) y) (mul w x x)))
-      (send (cat (exp (gen) y) (mul w x x))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))))
-  (label 182)
-  (parent 121)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (x (mul (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w))
-    (mul (rec y) w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w (rec x) (rec x))))))
-  (label 183)
-  (parent 121)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-1 x) (y-0 y) (w (mul (rec x) y (rec x-0))) (x-2 x-0))
-    (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul (rec x) y (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul (rec x) y (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 184)
-  (parent 122)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (absent (x-0 (mul (rec y) w x)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul (rec y) w x))
-    (mul (rec y) w x) (2 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))) (recv n))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((send (exp (gen) x))))
-  (label 185)
-  (parent 122)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (deflistener (exp (gen) (mul x w x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (absent (y (mul x w x-0)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y (mul x w x-0)) (mul x w x-0)
-    (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0 y)))
-      (send (exp (gen) (mul x w x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w x-0)))
-      (send (cat (exp (gen) y) (mul x w x-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0))))
-  (label 186)
-  (parent 122)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)))
-  (absent (x-0 (mul x (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x-0 (mul x (rec y) w))
-    (mul x (rec y) w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 187)
-  (parent 122)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (contracted (x-0 x) (w (rec x))) (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))))
-  (label 188)
-  (parent 123)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)))
-  (absent (x w) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x w) w (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))))
-  (label 189)
-  (parent 123)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) w))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul x w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv x) (send x)))
-  (label 190)
-  (parent 123)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test
-    (contracted (x-0 x) (y-1 y) (w (mul (rec x) y (rec y-0))) (y-2 y-0))
-    (one) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul (rec x) y)))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul (rec x) y (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul (rec x) y (rec y-0)))))
-    ((recv h-0) (send (exp (gen) y-0))))
-  (label 191)
-  (parent 124)
-  (unrealized (0 1) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (x (mul (rec y) w y-0)) (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-absence x (mul (rec y) w y-0))
-    (mul (rec y) w y-0) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))) (recv n))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x)))))
-    ((recv h-0) (send (exp (gen) y-0))))
-  (label 192)
-  (parent 124)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h-0) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y-0 (mul x w y)) (y h-0) (y-0 h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x w y)) (mul x w y)
-    (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y y-0)))
-      (send (exp (gen) (mul x w y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w y)))
-      (send (cat (exp (gen) y-0) (mul x w y))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h-0) (send (exp (gen) y))))
-  (label 193)
-  (parent 124)
-  (unrealized (0 1) (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)))
-  (absent (y-0 (mul x (rec y) w)) (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-absence y-0 (mul x (rec y) w))
-    (mul x (rec y) w) (2 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec y-0)))))
-    ((recv h-0) (send (exp (gen) y-0))))
-  (label 194)
-  (parent 124)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton plaindh
-  (vars (n text) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (gen)) (y y))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 3) (0 3)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (y (gen)))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (gen)) (send (exp (gen) y)) (recv (enc n (exp (gen) y)))
-      (send n)) ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 195)
-  (parent 128)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 2) (1 2)) ((1 1) (3 0))
-    ((1 3) (0 3)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)))
-  (absent (x w) (y (exp (gen) w)))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))) (send n))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))) ((recv x) (send x)))
-  (label 196)
-  (parent 129)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (4 0))
-    ((1 3) (0 3)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1))
-    ((5 1) (4 0)))
-  (absent (x-0 (mul (rec x) w)) (y (exp (gen) w)))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y (rec x-0))))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul w y)))) (send n))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w (rec x-0))))
-      (send (cat (exp (gen) y) (mul w (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 197)
-  (parent 138)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w x-0))) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 1))
-    ((5 1) (4 0)))
-  (absent (x-0 (mul x w)) (y (exp (gen) (mul x w x-0))))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y x-0)))
-      (send (enc n (exp (gen) (mul x w y x-0)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y x-0)))) (send n))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w x-0)))
-      (send (cat (exp (gen) y) (mul w x-0)))) ((recv x-0) (send x-0)))
-  (label 198)
-  (parent 139)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) w)) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 2) (1 2)) ((1 1) (4 0))
-    ((1 3) (0 3)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1))
-    ((5 1) (4 0)))
-  (absent (x (mul (rec y) w)) (y-0 (exp (gen) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) y-0))
-      (recv (enc n (exp (gen) (mul w y-0)))) (send n))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x))))) ((recv x) (send x)))
-  (label 199)
-  (parent 145)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (defstrand resp 4 (n n) (h (exp (gen) (mul x w y-0))) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul x w)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 2) (1 2)) ((1 1) (4 0)) ((1 3) (0 3))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((3 1) (5 0)) ((4 1) (0 1))
-    ((5 1) (4 0)))
-  (absent (y-0 (mul x w)) (y (exp (gen) (mul x w y-0))) (y-0 h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y-0))) (send (exp (gen) y))
-      (recv (enc n (exp (gen) (mul x w y y-0)))) (send n))
-    ((recv (cat (exp (gen) y-0) (mul x w)))
-      (send (cat (exp (gen) y-0) (mul x w))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0)))) ((recv y-0) (send y-0)))
-  (label 200)
-  (parent 146)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (gen) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (operation nonce-test (added-listener x) (rec x) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (gen) (rec x))) (send (cat (gen) (rec x))))
-    ((recv x) (send x)))
-  (label 201)
-  (parent 149)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (uniq-gen x)
-  (uniq-orig n)
-  (precur (3 0) (2 0))
-  (absent (x w))
-  (operation nonce-test (added-listener x) (mul w (rec x)) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (gen) (mul w (rec x))))
-      (send (cat (gen) (mul w (rec x))))) ((recv x) (send x)))
-  (label 202)
-  (parent 150)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (deflistener (cat (gen) (one)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul (rec x) (rec x)) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (rec x)))
-      (send (enc n (gen))) (recv n)) ((recv (gen)) (send (gen)))
-    ((recv (cat (gen) (one))) (send (cat (gen) (one))))
-    ((recv (cat (exp (gen) x) (mul (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 203)
-  (parent 152)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x)
-  (uniq-orig n)
-  (absent (x w))
-  (operation nonce-test (added-listener x) (mul w (rec x) (rec x))
-    (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w)))
-    ((recv (cat (exp (gen) x) (mul w (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 204)
-  (parent 153)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (3 0)) ((5 1) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul w x)))
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (3 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))) (recv n))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (gen) (mul w x))) (send (cat (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((send (exp (gen) x))) ((recv x-0) (send x-0)))
-  (label 205)
-  (parent 156)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 0) (2 0)) ((4 0) (5 0)) ((5 1) (3 0)))
-  (precur (3 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul x w)))
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0)))))
-    ((send (exp (gen) x-0))) ((recv x-0) (send x-0)))
-  (label 206)
-  (parent 157)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (absent (x (mul w y)) (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x)))))
-    ((recv h) (send (exp (gen) y))) ((recv x) (send x)))
-  (label 207)
-  (parent 159)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)) ((4 1) (5 0)) ((5 1) (3 0)))
-  (absent (y (mul x w)) (y h))
-  (precur (3 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w (rec y)) (3 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (gen) (mul x w))) (send (cat (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul w (rec y))))
-      (send (cat (exp (gen) y) (mul w (rec y)))))
-    ((recv h) (send (exp (gen) y))) ((recv y) (send y)))
-  (label 208)
-  (parent 160)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (gen) (mul w (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul (rec x) w)))
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w (rec x-0))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (gen) (mul w (rec x-0))))
-      (send (cat (gen) (mul w (rec x-0))))) ((recv x-0) (send x-0)))
-  (label 209)
-  (parent 162)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0))) (x x))
-  (deflistener (exp (gen) (mul x w x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (gen) (mul w x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul x w)))
-  (operation nonce-test (added-listener x-0) (mul w x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0)))
-      (send (enc n (exp (gen) (mul x w x-0)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0))) (send (exp (gen) (mul x w x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w)))
-      (send (cat (exp (gen) x-0) (mul x w)))) ((send (exp (gen) x-0)))
-    ((recv (cat (gen) (mul w x-0))) (send (cat (gen) (mul w x-0))))
-    ((recv x-0) (send x-0)))
-  (label 210)
-  (parent 163)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x x-0))) (x x))
-  (deflistener (exp (gen) (mul w x x x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul w x x)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x) (mul w x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul w x x)))
-  (operation nonce-test (added-listener x-0) (mul w x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x x-0)))
-      (send (enc n (exp (gen) (mul w x x x-0)))) (recv n))
-    ((recv (exp (gen) (mul w x x x-0)))
-      (send (exp (gen) (mul w x x x-0))))
-    ((recv (cat (exp (gen) x-0) (mul w x x)))
-      (send (cat (exp (gen) x-0) (mul w x x)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x) (mul w x-0)))
-      (send (cat (exp (gen) x) (mul w x-0)))) ((recv x-0) (send x-0)))
-  (label 211)
-  (parent 165)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 (mul (rec x) w)))
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0) (rec x-0))
-    (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w (rec x-0))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) x) (mul (rec x) w)))
-      (send (cat (exp (gen) x) (mul (rec x) w)))) ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0) (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 212)
-  (parent 166)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) x))
-  (deflistener (cat (exp (gen) x) (one)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (rec x-0)))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (rec x-0) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul x (rec x-0))))
-      (send (enc n (exp (gen) x))) (recv n))
-    ((recv (exp (gen) x)) (send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (one))) (send (cat (exp (gen) x) (one))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (rec x-0)))
-      (send (cat (exp (gen) x) (rec x-0)))) ((recv x-0) (send x-0)))
-  (label 213)
-  (parent 167)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0)
-  (uniq-orig n)
-  (absent (x-0 w))
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))) (recv n))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((recv x-0) (send x-0)))
-  (label 214)
-  (parent 168)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 (rec x-1)))) (x x-1))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w x-0)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-1))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-1)
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)) ((6 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul (rec x) w x-0)))
-  (operation nonce-test (added-listener x-1) (mul w (rec x-1)) (4 0))
-  (traces
-    ((send (exp (gen) x-1)) (recv (exp (gen) (mul w x-0 (rec x-1))))
-      (send (enc n (exp (gen) (mul w x-0)))) (recv n))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w x-0)))
-      (send (cat (exp (gen) x) (mul (rec x) w x-0))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-1))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-1)))))
-    ((send (exp (gen) x-0))) ((recv x-1) (send x-1)))
-  (label 215)
-  (parent 171)
-  (unrealized (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x expn) (w expr) (x-0 x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 x-1))) (x x))
-  (deflistener (exp (gen) (mul x w x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) (mul x w x-0)))
-  (defstrand init 1 (x x-1))
-  (deflistener (cat (exp (gen) x-0) (mul w x-1)))
-  (defstrand init 1 (x x-0))
-  (deflistener x-1)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (6 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)) ((6 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul x w x-0)))
-  (operation nonce-test (added-listener x-1) (mul w x-1) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 x-1)))
-      (send (enc n (exp (gen) (mul x w x-0 x-1)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0 x-1)))
-      (send (exp (gen) (mul x w x-0 x-1))))
-    ((recv (cat (exp (gen) x-1) (mul x w x-0)))
-      (send (cat (exp (gen) x-1) (mul x w x-0))))
-    ((send (exp (gen) x-1)))
-    ((recv (cat (exp (gen) x-0) (mul w x-1)))
-      (send (cat (exp (gen) x-0) (mul w x-1)))) ((send (exp (gen) x-0)))
-    ((recv x-1) (send x-1)))
-  (label 216)
-  (parent 172)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (x x-0 expn) (w expr) (x-1 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) x-1) (mul w (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (deflistener x-1)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (6 0)) ((6 1) (4 0)))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (uniq-orig n)
-  (absent (x-1 (mul x (rec x-0) w)))
-  (operation nonce-test (added-listener x-1) (mul w (rec x-1)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) x-1) (mul w (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul w (rec x-1)))))
-    ((send (exp (gen) x-1))) ((recv x-1) (send x-1)))
-  (label 217)
-  (parent 173)
-  (unrealized (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) w y)))
-  (defstrand init 1 (x x))
-  (deflistener (cat (exp (gen) y) (mul w (rec x-0))))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (absent (x-0 (mul (rec x) w y)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w y (rec x-0))))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) x) (mul (rec x) w y)))
-      (send (cat (exp (gen) x) (mul (rec x) w y))))
-    ((send (exp (gen) x)))
-    ((recv (cat (exp (gen) y) (mul w (rec x-0))))
-      (send (cat (exp (gen) y) (mul w (rec x-0)))))
-    ((recv h) (send (exp (gen) y))) ((recv x-0) (send x-0)))
-  (label 218)
-  (parent 175)
-  (unrealized (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y x-0))) (x x))
-  (deflistener (exp (gen) (mul x w y x-0)))
-  (deflistener (cat (exp (gen) x-0) (mul x w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (6 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (absent (x-0 (mul x w y)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w x-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y x-0)))
-      (send (enc n (exp (gen) (mul x w y x-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y x-0)))
-      (send (exp (gen) (mul x w y x-0))))
-    ((recv (cat (exp (gen) x-0) (mul x w y)))
-      (send (cat (exp (gen) x-0) (mul x w y)))) ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w x-0)))
-      (send (cat (exp (gen) y) (mul w x-0))))
-    ((recv h) (send (exp (gen) y))) ((recv x-0) (send x-0)))
-  (label 219)
-  (parent 176)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x x-0 expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-  (defstrand init 1 (x x-0))
-  (deflistener (cat (exp (gen) y) (mul w (rec y))))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (6 0)) ((6 1) (4 0)))
-  (absent (y (mul x (rec x-0) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w (rec y)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) w)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) w))))
-    ((send (exp (gen) x-0)))
-    ((recv (cat (exp (gen) y) (mul w (rec y))))
-      (send (cat (exp (gen) y) (mul w (rec y)))))
-    ((recv h) (send (exp (gen) y))) ((recv y) (send y)))
-  (label 220)
-  (parent 177)
-  (unrealized (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x (mul (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul w (rec x))))
-      (send (cat (gen) (mul w (rec x))))) ((recv x) (send x)))
-  (label 221)
-  (parent 179)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y))) (x x))
-  (deflistener (exp (gen) (mul x w y)))
-  (deflistener (cat (exp (gen) y) (mul x w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (mul x w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y)))
-      (send (enc n (exp (gen) (mul x w y)))) (recv n))
-    ((recv (exp (gen) (mul x w y))) (send (exp (gen) (mul x w y))))
-    ((recv (cat (exp (gen) y) (mul x w)))
-      (send (cat (exp (gen) y) (mul x w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 222)
-  (parent 180)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (x y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x y))) (x x))
-  (deflistener (exp (gen) (mul w x x y)))
-  (deflistener (cat (exp (gen) y) (mul w x x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (5 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y (mul w x x)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x y)))
-      (send (enc n (exp (gen) (mul w x x y)))) (recv n))
-    ((recv (exp (gen) (mul w x x y))) (send (exp (gen) (mul w x x y))))
-    ((recv (cat (exp (gen) y) (mul w x x)))
-      (send (cat (exp (gen) y) (mul w x x))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((recv y) (send y)))
-  (label 223)
-  (parent 182)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w (rec x)))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w (rec x) (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x (mul (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x) (rec x))
-    (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w (rec x))))
-      (send (enc n (exp (gen) w))) (recv n))
-    ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (exp (gen) y) (mul (rec y) w)))
-      (send (cat (exp (gen) y) (mul (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w (rec x) (rec x))))
-      (send (cat (exp (gen) x) (mul w (rec x) (rec x)))))
-    ((recv x) (send x)))
-  (label 224)
-  (parent 183)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y expn) (w expr) (x x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x (rec x-0)))) (x x-0))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w x)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x) (mul w (rec x-0))))
-  (defstrand init 1 (x x))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)) ((6 1) (4 0)))
-  (absent (x-0 (mul (rec y) w x)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (traces
-    ((send (exp (gen) x-0)) (recv (exp (gen) (mul w x (rec x-0))))
-      (send (enc n (exp (gen) (mul w x)))) (recv n))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w x)))
-      (send (cat (exp (gen) y) (mul (rec y) w x))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x) (mul w (rec x-0))))
-      (send (cat (exp (gen) x) (mul w (rec x-0)))))
-    ((send (exp (gen) x))) ((recv x-0) (send x-0)))
-  (label 225)
-  (parent 185)
-  (unrealized (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x expn) (w expr) (x-0 y expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w x-0 y))) (x x))
-  (deflistener (exp (gen) (mul x w x-0 y)))
-  (deflistener (cat (exp (gen) y) (mul x w x-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w y)))
-  (defstrand init 1 (x x-0))
-  (deflistener y)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (6 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (4 0)) ((6 1) (4 0)))
-  (absent (y (mul x w x-0)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x x-0 y)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y) (mul w y) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w x-0 y)))
-      (send (enc n (exp (gen) (mul x w x-0 y)))) (recv n))
-    ((recv (exp (gen) (mul x w x-0 y)))
-      (send (exp (gen) (mul x w x-0 y))))
-    ((recv (cat (exp (gen) y) (mul x w x-0)))
-      (send (cat (exp (gen) y) (mul x w x-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul w y)))
-      (send (cat (exp (gen) x-0) (mul w y)))) ((send (exp (gen) x-0)))
-    ((recv y) (send y)))
-  (label 226)
-  (parent 186)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (x y expn) (w expr) (x-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) x-0) (mul w (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (deflistener x-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 0) (2 0))
-    ((5 0) (6 0)) ((6 1) (4 0)))
-  (absent (x-0 (mul x (rec y) w)) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y x-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x-0) (mul w (rec x-0)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) x-0) (mul w (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul w (rec x-0)))))
-    ((send (exp (gen) x-0))) ((recv x-0) (send x-0)))
-  (label 227)
-  (parent 187)
-  (unrealized (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul y (rec x)))) (x x))
-  (deflistener (exp (gen) y))
-  (deflistener (cat (exp (gen) y) (one)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (rec x)))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (rec x) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul y (rec x))))
-      (send (enc n (exp (gen) y))) (recv n))
-    ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (rec x)))
-      (send (cat (exp (gen) y) (rec x)))) ((recv x) (send x)))
-  (label 228)
-  (parent 188)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h base) (w expr) (y x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y) (mul w (rec x))))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (absent (x w) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y (rec x))))
-      (send (enc n (exp (gen) (mul w y)))) (recv n))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y) (mul w (rec x))))
-      (send (cat (exp (gen) y) (mul w (rec x))))) ((recv x) (send x)))
-  (label 229)
-  (parent 189)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (y expn) (w expr) (y-0 x expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y-0 (rec x)))) (x x))
-  (deflistener (exp (gen) (mul w y-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) w y-0)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec x))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (deflistener x)
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (absent (x (mul (rec y) w y-0)) (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen y y-0 x)
-  (uniq-orig n)
-  (operation nonce-test (added-listener x) (mul w (rec x)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y-0 (rec x))))
-      (send (enc n (exp (gen) (mul w y-0)))) (recv n))
-    ((recv (exp (gen) (mul w y-0))) (send (exp (gen) (mul w y-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) w y-0)))
-      (send (cat (exp (gen) y) (mul (rec y) w y-0))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec x))))
-      (send (cat (exp (gen) y-0) (mul w (rec x)))))
-    ((recv h-0) (send (exp (gen) y-0))) ((recv x) (send x)))
-  (label 230)
-  (parent 192)
-  (unrealized (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x expn) (w expr) (y y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) (mul w y y-0))) (x x))
-  (deflistener (exp (gen) (mul x w y y-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x w y)))
-  (defstrand resp 2 (h h) (y y-0))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (h h-0) (y y))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (6 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (absent (y-0 (mul x w y)) (y h-0) (y-0 h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) (mul w y y-0)))
-      (send (enc n (exp (gen) (mul x w y y-0)))) (recv n))
-    ((recv (exp (gen) (mul x w y y-0)))
-      (send (exp (gen) (mul x w y y-0))))
-    ((recv (cat (exp (gen) y-0) (mul x w y)))
-      (send (cat (exp (gen) y-0) (mul x w y))))
-    ((recv h) (send (exp (gen) y-0)))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h-0) (send (exp (gen) y))) ((recv y-0) (send y-0)))
-  (label 231)
-  (parent 193)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton plaindh
-  (vars (n text) (h h-0 base) (x y expn) (w expr) (y-0 expn))
-  (defstrand init 4 (n n) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul x w)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) w)))
-  (defstrand resp 2 (h h) (y y))
-  (deflistener (cat (exp (gen) y-0) (mul w (rec y-0))))
-  (defstrand resp 2 (h h-0) (y y-0))
-  (deflistener y-0)
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 3)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (4 0)) ((4 1) (0 1)) ((5 1) (2 0))
-    ((5 1) (6 0)) ((6 1) (4 0)))
-  (absent (y-0 (mul x (rec y) w)) (y-0 h-0) (y h))
-  (precur (4 0) (2 0))
-  (uniq-gen x y y-0)
-  (uniq-orig n)
-  (operation nonce-test (added-listener y-0) (mul w (rec y-0)) (4 0))
-  (traces
-    ((send (exp (gen) x)) (recv (exp (gen) w))
-      (send (enc n (exp (gen) (mul x w)))) (recv n))
-    ((recv (exp (gen) (mul x w))) (send (exp (gen) (mul x w))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) w)))
-      (send (cat (exp (gen) y) (mul x (rec y) w))))
-    ((recv h) (send (exp (gen) y)))
-    ((recv (cat (exp (gen) y-0) (mul w (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul w (rec y-0)))))
-    ((recv h-0) (send (exp (gen) y-0))) ((recv y-0) (send y-0)))
-  (label 232)
-  (parent 194)
-  (unrealized (2 0) (6 0))
-  (comment "empty cohort"))
+(comment "CPSA 3.5.0")
+(comment "All input read from plaindh.scm")
+
+(defprotocol plaindh diffie-hellman
+  (defrole init
+    (vars (x rndx) (y expt) (n text))
+    (trace (send (exp (gen) x)) (recv (exp (gen) y))
+      (send (enc n (exp (gen) (mul x y)))) (recv n))
+    (uniq-orig n)
+    (uniq-gen x))
+  (defrole resp
+    (vars (y rndx) (x expt) (n text))
+    (trace (recv (exp (gen) x)) (send (exp (gen) y))
+      (recv (enc n (exp (gen) (mul y x)))) (send n))
+    (uniq-gen y)
+    (absent (y (exp (gen) x))))
+  (comment "Diffie-hellman key exchange followed by an encryption"))
+
+(defskeleton plaindh
+  (vars (n text) (x rndx) (y expt))
+  (defstrand init 4 (n n) (x x) (y y))
+  (uniq-gen x)
+  (uniq-orig n)
+  (traces
+    ((send (exp (gen) x)) (recv (exp (gen) y))
+      (send (enc n (exp (gen) (mul x y)))) (recv n)))
+  (label 0)
+  (unrealized)
+  (shape)
+  (maps ((0) ((x x) (y y) (n n))))
+  (origs (n (0 2))))
 
 (comment "Nothing left to do")
diff --git a/tst/priority_test.tst b/tst/priority_test.tst
--- a/tst/priority_test.tst
+++ b/tst/priority_test.tst
@@ -1,6 +1,6 @@
 (herald "Receive priority test protocol")
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from priority_test.scm")
 
 (defprotocol priority_test basic
diff --git a/tst/reflect.tst b/tst/reflect.tst
--- a/tst/reflect.tst
+++ b/tst/reflect.tst
@@ -1,6 +1,6 @@
 (herald reflect)
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from reflect.scm")
 
 (defprotocol reflect basic
diff --git a/tst/staticdh.scm b/tst/staticdh.scm
--- a/tst/staticdh.scm
+++ b/tst/staticdh.scm
@@ -3,7 +3,7 @@
 
 (defprotocol staticdh diffie-hellman
   (defrole init
-    (vars (b ca name) (h base) (x expn) (n text))
+    (vars (b ca name) (h base) (x rndx) (n text))
     (trace
        (recv (enc "cert" h b (privk ca)))
        (send (enc n (exp h x)))
@@ -11,14 +11,14 @@
     (uniq-orig n)
     (non-orig (privk ca) x))
   (defrole resp
-    (vars (a ca name) (h base) (y expn) (n text))
+    (vars (a ca name) (h base) (y rndx) (n text))
     (trace
        (recv (enc "cert" h a (privk ca)))
        (recv (enc n (exp h y)))
        (send n))
     (non-orig (privk ca) y))
   (defrole ca
-    (vars (p ca name) (x expn))
+    (vars (p ca name) (x rndx))
     (trace
        (send (enc "cert" (exp (gen) x) p (privk ca))))
     (non-orig x)
@@ -32,7 +32,7 @@
 
 (defprotocol staticdh1 diffie-hellman
   (defrole init
-    (vars (a b ca name) (h base) (x expn) (n text))
+    (vars (a b ca name) (h base) (x rndx) (n text))
     (trace
        (recv (enc "cert" (exp (gen) x) a (privk ca)))
        (recv (enc "cert" h b (privk ca)))
@@ -42,7 +42,7 @@
     (neq (a b))
     (non-orig (privk ca)))
   (defrole resp
-    (vars (a b ca name) (h base) (y expn) (n text))
+    (vars (a b ca name) (h base) (y rndx) (n text))
     (trace
        (recv (enc "cert" h a (privk ca)))
        (recv (enc "cert" (exp (gen) y) b (privk ca)))
@@ -51,7 +51,7 @@
     (neq (a b))
     (non-orig (privk ca)))
   (defrole ca
-    (vars (p ca name) (x expn) (n text))
+    (vars (p ca name) (x rndx) (n text))
     (trace
        (send (enc "cert" (exp (gen) x) p (privk ca))))
     (non-orig x)
diff --git a/tst/staticdh.tst b/tst/staticdh.tst
--- a/tst/staticdh.tst
+++ b/tst/staticdh.tst
@@ -1,11 +1,11 @@
 (herald "Static DH key exchange" (algebra diffie-hellman))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from staticdh.scm")
 
 (defprotocol staticdh1 diffie-hellman
   (defrole init
-    (vars (a b ca name) (h base) (x expn) (n text))
+    (vars (a b ca name) (h base) (x rndx) (n text))
     (trace (recv (enc "cert" (exp (gen) x) a (privk ca)))
       (recv (enc "cert" h b (privk ca))) (send (enc n (exp h x)))
       (recv n))
@@ -13,20 +13,20 @@
     (uniq-orig n)
     (neq (a b)))
   (defrole resp
-    (vars (a b ca name) (h base) (y expn) (n text))
+    (vars (a b ca name) (h base) (y rndx) (n text))
     (trace (recv (enc "cert" h a (privk ca)))
       (recv (enc "cert" (exp (gen) y) b (privk ca)))
       (recv (enc n (exp h y))) (send n))
     (non-orig (privk ca))
     (neq (a b)))
   (defrole ca
-    (vars (p ca name) (x expn))
+    (vars (p ca name) (x rndx))
     (trace (send (enc "cert" (exp (gen) x) p (privk ca))))
     (non-orig x)
     (fn-of (owner-of (p x)))))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (h base) (x expn))
+  (vars (n text) (a b ca name) (h base) (x rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h h) (x x))
   (neq (a b))
   (non-orig (privk ca))
@@ -41,7 +41,7 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (h base) (x expn))
+  (vars (n text) (a b ca name) (h base) (x rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h h) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (precedes ((1 0) (0 0)))
@@ -61,7 +61,7 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (x x-0 expn))
+  (vars (n text) (a b ca name) (x x-0 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x-0)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x x-0))
@@ -84,7 +84,7 @@
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca a-0 b-0 ca-0 name) (x x-0 y expn))
+  (vars (n text) (a b ca a-0 b-0 ca-0 name) (x x-0 y rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x-0)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x x-0))
@@ -113,7 +113,7 @@
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (x x-0 expn))
+  (vars (n text) (a b ca name) (x x-0 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x-0)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x x-0))
@@ -138,7 +138,7 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca b-0 name) (y x expn))
+  (vars (n text) (a b ca b-0 name) (y x rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (x y))
   (defstrand ca 1 (p a) (ca ca) (x y))
   (defstrand ca 1 (p b) (ca ca) (x x))
@@ -166,7 +166,7 @@
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca b-0 ca-0 name) (y x expn))
+  (vars (n text) (a b ca b-0 ca-0 name) (y x rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (x y))
   (defstrand ca 1 (p a) (ca ca) (x y))
   (defstrand ca 1 (p b) (ca ca) (x x))
@@ -197,7 +197,7 @@
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca b-0 name) (y x expn))
+  (vars (n text) (a b ca b-0 name) (y x rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x y))
@@ -225,7 +225,7 @@
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca b-0 ca-0 name) (y x expn))
+  (vars (n text) (a b ca b-0 ca-0 name) (y x rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) y)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x y))
@@ -256,7 +256,7 @@
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (x x-0 expn) (w expr))
+  (vars (n text) (a b ca name) (x x-0 rndx) (w expt))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x-0)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x x-0))
@@ -286,7 +286,7 @@
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (x x-0 expn))
+  (vars (n text) (a b ca name) (x x-0 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (x x-0))
   (defstrand ca 1 (p a) (ca ca) (x x-0))
   (defstrand ca 1 (p b) (ca ca) (x x))
@@ -316,7 +316,7 @@
   (origs (n (0 2))))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (x x-0 expn))
+  (vars (n text) (a b ca name) (x x-0 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (x x-0))
   (defstrand ca 1 (p a) (ca ca) (x x-0))
   (defstrand ca 1 (p b) (ca ca) (x x))
@@ -348,7 +348,7 @@
   (origs (n (0 2))))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (x x-0 expn))
+  (vars (n text) (a b ca name) (x x-0 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (x x-0))
   (defstrand ca 1 (p a) (ca ca) (x x-0))
   (defstrand ca 1 (p b) (ca ca) (x x))
@@ -380,7 +380,7 @@
   (origs (n (0 2))))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca ca-0 name) (x x-0 expn))
+  (vars (n text) (a b ca ca-0 name) (x x-0 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x)) (x x-0))
   (defstrand ca 1 (p a) (ca ca) (x x-0))
   (defstrand ca 1 (p b) (ca ca) (x x))
@@ -415,7 +415,7 @@
   (origs (n (0 2))))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (x x-0 expn))
+  (vars (n text) (a b ca name) (x x-0 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x-0)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x x-0))
@@ -445,7 +445,7 @@
   (origs (n (0 2))))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (x x-0 expn))
+  (vars (n text) (a b ca name) (x x-0 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x-0)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x x-0))
@@ -477,7 +477,7 @@
   (origs (n (0 2))))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (x x-0 expn))
+  (vars (n text) (a b ca name) (x x-0 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x-0)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x x-0))
@@ -509,7 +509,7 @@
   (origs (n (0 2))))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca ca-0 name) (x x-0 expn))
+  (vars (n text) (a b ca ca-0 name) (x x-0 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x-0)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x x-0))
@@ -544,7 +544,7 @@
   (origs (n (0 2))))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca name) (x x-0 expn))
+  (vars (n text) (a b ca name) (x x-0 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x-0)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x x-0))
@@ -572,7 +572,7 @@
   (comment "empty cohort"))
 
 (defskeleton staticdh1
-  (vars (n text) (a b ca p ca-0 name) (x x-0 x-1 expn))
+  (vars (n text) (a b ca p ca-0 name) (x x-0 x-1 rndx))
   (defstrand init 4 (n n) (a a) (b b) (ca ca) (h (exp (gen) x-0)) (x x))
   (defstrand ca 1 (p a) (ca ca) (x x))
   (defstrand ca 1 (p b) (ca ca) (x x-0))
diff --git a/tst/station.scm b/tst/station.scm
--- a/tst/station.scm
+++ b/tst/station.scm
@@ -14,18 +14,20 @@
 
 (defprotocol station-to-station diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (a b name))
+    (vars (x rndx) (y expt) (a b name))
     (trace
      (send (exp (gen) x))
-     (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-     (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
+     (recv (cat (exp (gen) y)
+		(enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x)))))
+     (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (a b name))
+    (vars (y rndx) (x expt) (a b name))
     (trace
-     (recv h)
-     (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-     (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
+     (recv (exp (gen) x))
+     (send (cat (exp (gen) y)
+		(enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y)))))
+     (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))))
     (uniq-gen y))
 )
 
@@ -43,31 +45,35 @@
 
 (defprotocol station-weak diffie-hellman
   (defrole weak-init
-    (vars (x expn) (h base) (a b name))
+    (vars (x rndx) (y expt) (a b name))
     (trace
      (send (exp (gen) x))
-     (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-     (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
-  )
+     (recv (cat (exp (gen) y)
+		(enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x)))))
+     (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))
+					;(uniq-gen x)
+    )
   (defrole weak-resp
-    (vars (y expn) (h base) (a b name))
+    (vars (y rndx) (x expt) (a b name))
     (trace
-     (recv h)
-     (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-     (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    (absent (y h))
+     (recv (exp (gen) x))
+     (send (cat (exp (gen) y)
+		(enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y)))))
+     (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))))
+					;    (uniq-gen y)
+     (absent (y (exp (gen) x)))
     )
 )
 
 (defskeleton station-weak
-  (vars (a b name) (x expn))
+  (vars (a b name) (x rndx))
   (defstrand weak-init 3 (a a) (b b) (x x))
   (uniq-gen x)
   (non-orig (privk b) (privk a))
 )
 
 (defskeleton station-weak
-  (vars (a b name) (y expn))
+  (vars (a b name) (y rndx))
   (defstrand weak-resp 3 (a a) (b b) (y y))
   (uniq-gen y)
   (non-orig (privk a) (privk b))
diff --git a/tst/station.tst b/tst/station.tst
--- a/tst/station.tst
+++ b/tst/station.tst
@@ -1,5262 +1,980 @@
 (herald "Station-to-station protocol" (algebra diffie-hellman))
 
-(comment "CPSA 3.4.0")
-(comment "All input read from station.scm")
-
-(defprotocol station-to-station diffie-hellman
-  (defrole init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
-    (uniq-gen x))
-  (defrole resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    (uniq-gen y)
-    (absent (y h))))
-
-(defskeleton station-to-station
-  (vars (a b name) (h base) (x expn))
-  (defstrand init 3 (a a) (b b) (h h) (x x))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (traces
-    ((send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))))
-  (label 0)
-  (unrealized (0 1))
-  (origs)
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (1 1)) ((1 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-strand init 3)
-    (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-      (exp (gen) (mul x x-0))) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))))
-  (label 1)
-  (parent 0)
-  (unrealized (1 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand resp 2)
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-      (exp (gen) (mul x y))) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))))
-  (label 2)
-  (parent 0)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (x x) (h (exp (gen) y)))))
-  (origs))
-
-(defskeleton station-to-station
-  (vars (a b name) (h base) (x expn))
-  (defstrand init 3 (a a) (b b) (h h) (x x))
-  (deflistener (exp h x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation encryption-test (added-listener (exp h x))
-    (enc (enc h (exp (gen) x) (privk b)) (exp h x)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
-    ((recv (exp h x)) (send (exp h x))))
-  (label 3)
-  (parent 0)
-  (unrealized (0 1) (1 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((1 0) (2 0)) ((1 2) (0 1)) ((2 1) (1 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
-    (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-      (exp (gen) (mul x x-0))) (1 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))))
-  (label 4)
-  (parent 1)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen)
-    (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (rec x))
-          (enc (enc (exp (gen) (rec x)) (exp (gen) x) (privk b))
-            (gen))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) (rec x)) (privk a)) (gen))))
-    ((recv (gen)) (send (gen))))
-  (label 5)
-  (parent 3)
-  (unrealized (0 1))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x expn))
-  (defstrand init 3 (a a) (b b) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (gen)
-          (enc (enc (gen) (exp (gen) x) (privk b)) (exp (gen) x))))
-      (send (enc (enc (exp (gen) x) (gen) (privk a)) (exp (gen) x))))
-    ((recv (exp (gen) x)) (send (exp (gen) x))))
-  (label 6)
-  (parent 3)
-  (unrealized (0 1))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) x-0))) (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (mul (rec x) x-0))
-          (enc
-            (enc (exp (gen) (mul (rec x) x-0)) (exp (gen) x) (privk b))
-            (exp (gen) x-0))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) x-0)) (privk a))
-          (exp (gen) x-0))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0))))
-  (label 7)
-  (parent 3)
-  (unrealized (0 1))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (h base) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) y))) (x x))
-  (deflistener (exp (gen) y))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (mul (rec x) y))
-          (enc (enc (exp (gen) (mul (rec x) y)) (exp (gen) x) (privk b))
-            (exp (gen) y))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) y)) (privk a))
-          (exp (gen) y)))) ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))))
-  (label 8)
-  (parent 3)
-  (unrealized (0 1))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b name) (h base) (x expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h h) (x x))
-  (deflistener (exp h x))
-  (deflistener (cat (exp h (mul x (rec w))) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w))
-    (exp h x) (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
-    ((recv (exp h x)) (send (exp h x)))
-    ((recv (cat (exp h (mul x (rec w))) w))
-      (send (cat (exp h (mul x (rec w))) w))))
-  (label 9)
-  (parent 3)
-  (unrealized (0 1) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x x-0)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
-    (exp (gen) (mul x x-0)) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) (mul x x-0 (rec w))) w))
-      (send (cat (exp (gen) (mul x x-0 (rec w))) w))))
-  (label 10)
-  (parent 4)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w))) (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (2 0))
-  (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w))))
-    (gen) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (mul (rec x) w))
-          (enc (enc (exp (gen) (mul (rec x) w)) (exp (gen) x) (privk b))
-            (exp (gen) w))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w)) (privk a))
-          (exp (gen) w)))) ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 11)
-  (parent 9)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (w expr) (x expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) w)
-          (enc (enc (exp (gen) w) (exp (gen) x) (privk b))
-            (exp (gen) (mul w x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) w) (privk a))
-          (exp (gen) (mul w x)))))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 12)
-  (parent 9)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x expn) (w expr) (x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w x-0)))
-    (x x))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (mul (rec x) w x-0))
-          (enc
-            (enc (exp (gen) (mul (rec x) w x-0)) (exp (gen) x)
-              (privk b)) (exp (gen) (mul w x-0)))))
-      (send
-        (enc
-          (enc (exp (gen) x) (exp (gen) (mul (rec x) w x-0)) (privk a))
-          (exp (gen) (mul w x-0)))))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 13)
-  (parent 9)
-  (unrealized (0 1))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (h base) (x expn) (w expr) (y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w y))) (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (mul (rec x) w y))
-          (enc
-            (enc (exp (gen) (mul (rec x) w y)) (exp (gen) x) (privk b))
-            (exp (gen) (mul w y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w y)) (privk a))
-          (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))))
-  (label 14)
-  (parent 9)
-  (unrealized (0 1))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x x-0)
-  (precur (3 0))
-  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
-    (gen) (3 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))))
-  (label 15)
-  (parent 10)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
-  (label 16)
-  (parent 10)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
-  (label 17)
-  (parent 10)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)) ((4 0) (3 0)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 18)
-  (parent 10)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (defstrand resp 2 (b b-1) (h h) (y y))
-  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x x-0 y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul x x-0 (rec y)))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-1)) (exp h y))))))
-  (label 19)
-  (parent 10)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-strand init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))))
-  (label 20)
-  (parent 11)
-  (unrealized (1 0) (2 0) (3 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y))))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))))
-  (label 21)
-  (parent 11)
-  (unrealized (1 0) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-strand init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))))
-  (label 22)
-  (parent 12)
-  (unrealized (2 0) (3 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x) y))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation encryption-test (added-strand resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y)))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))))
-  (label 23)
-  (parent 12)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (displaced 3 4 init 3)
-    (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))))
-  (label 24)
-  (parent 13)
-  (unrealized (2 0) (3 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand init 1 (x x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation encryption-test (added-strand init 3)
-    (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-1)
-          (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-1)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a))
-          (exp (gen) (mul x x-1)))))
-    ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1))))
-    ((send (exp (gen) x-0)))
-    ((send (exp (gen) x-1))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0))
-            (exp (gen) (mul x x-1)))))
-      (send
-        (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-1))))))
-  (label 25)
-  (parent 13)
-  (unrealized (1 0) (2 0) (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-  (defstrand init 1 (x x-0))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0))
-    ((4 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0 y)
-  (operation encryption-test (added-strand resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) y))))
-    ((send (exp (gen) x-0)))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))))
-  (label 26)
-  (parent 13)
-  (unrealized (1 0) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x y x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 2) (0 1)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (operation encryption-test (added-strand init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) x-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))))
-  (label 27)
-  (parent 14)
-  (unrealized (1 0) (2 0) (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation encryption-test (displaced 4 3 resp 2)
-    (enc (exp (gen) y-0) (exp (gen) x) (privk b-0)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))))
-  (label 28)
-  (parent 14)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (h base) (x y y-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y-0)) (x x))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y-0))
-  (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y y-0)
-  (operation encryption-test (added-strand resp 2)
-    (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y-0) (privk a))
-          (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) y-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y-0)))))))
-  (label 29)
-  (parent 14)
-  (unrealized (1 0) (2 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
-    (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-      (exp (gen) (mul x x-0))) (3 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))))
-  (label 30)
-  (parent 20)
-  (unrealized (1 0) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
-    (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-      (exp (gen) (mul x x-0))) (3 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))))
-  (label 31)
-  (parent 22)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
-    (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-      (exp (gen) (mul x x-0))) (3 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))))
-  (label 32)
-  (parent 24)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand init 1 (x x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1))
-  (deflistener (exp (gen) (mul x x-1)))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (5 0)) ((4 2) (0 1))
-    ((5 1) (4 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-1)))
-    (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0))
-      (exp (gen) (mul x x-1))) (4 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-1)
-          (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-1)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a))
-          (exp (gen) (mul x x-1)))))
-    ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1))))
-    ((send (exp (gen) x-0)))
-    ((send (exp (gen) x-1))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0))
-            (exp (gen) (mul x x-1)))))
-      (send
-        (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-1)))))
-    ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))))
-  (label 33)
-  (parent 25)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x y x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (5 0)) ((4 2) (0 1))
-    ((5 1) (4 1)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y x-0)
-  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
-    (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-      (exp (gen) (mul x x-0))) (4 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) x-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))))
-  (label 34)
-  (parent 27)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
-    (exp (gen) (mul x x-0)) (4 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) (mul x x-0 (rec w))) w))
-      (send (cat (exp (gen) (mul x x-0 (rec w))) w))))
-  (label 35)
-  (parent 30)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
-    (exp (gen) (mul x x-0)) (4 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) (mul x x-0 (rec w))) w))
-      (send (cat (exp (gen) (mul x x-0 (rec w))) w))))
-  (label 36)
-  (parent 31)
-  (unrealized (2 0) (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
-    (exp (gen) (mul x x-0)) (4 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) (mul x x-0 (rec w))) w))
-      (send (cat (exp (gen) (mul x x-0 (rec w))) w))))
-  (label 37)
-  (parent 32)
-  (unrealized (2 0) (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand init 1 (x x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) (mul x x-1 (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-1 (rec w))) w))
-    (exp (gen) (mul x x-1)) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-1)
-          (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-1)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a))
-          (exp (gen) (mul x x-1)))))
-    ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1))))
-    ((send (exp (gen) x-0)))
-    ((send (exp (gen) x-1))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0))
-            (exp (gen) (mul x x-1)))))
-      (send
-        (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-1)))))
-    ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))
-    ((recv (cat (exp (gen) (mul x x-1 (rec w))) w))
-      (send (cat (exp (gen) (mul x x-1 (rec w))) w))))
-  (label 38)
-  (parent 33)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x y x-0 expn) (w expr))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x y x-0)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
-    (exp (gen) (mul x x-0)) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) x-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) (mul x x-0 (rec w))) w))
-      (send (cat (exp (gen) (mul x x-0 (rec w))) w))))
-  (label 39)
-  (parent 34)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
-    (gen) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))))
-  (label 40)
-  (parent 35)
-  (unrealized (1 0) (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
-  (label 41)
-  (parent 35)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
-  (label 42)
-  (parent 35)
-  (unrealized (1 0) (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 0) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 43)
-  (parent 35)
-  (unrealized (1 0) (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (defstrand resp 2 (b b-1) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul x x-0 (rec y)))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-1)) (exp h y))))))
-  (label 44)
-  (parent 35)
-  (unrealized (1 0) (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
-    (gen) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))))
-  (label 45)
-  (parent 36)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
-  (label 46)
-  (parent 36)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
-  (label 47)
-  (parent 36)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 0) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 48)
-  (parent 36)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (defstrand resp 2 (b b-1) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul x x-0 (rec y)))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-1)) (exp h y))))))
-  (label 49)
-  (parent 36)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
-    (gen) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))))
-  (label 50)
-  (parent 37)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
-  (label 51)
-  (parent 37)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0)
-  (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
-  (label 52)
-  (parent 37)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 0) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 53)
-  (parent 37)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (defstrand resp 2 (b b-1) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1))
-    ((5 1) (4 0)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x x-0 y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (5 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul x x-0 (rec y)))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-1)) (exp h y))))))
-  (label 54)
-  (parent 37)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-  (defstrand init 1 (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (gen) (mul x-0 x-1)))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test
-    (contracted (x-2 x-0) (x-3 x-1) (w (mul x-0 x-1))) (gen) (6 0))
-  (traces
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x-1)
-          (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b))
-            (exp (gen) (mul x-0 x-1)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a))
-          (exp (gen) (mul x-0 x-1)))))
-    ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1))))
-    ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-      (send (cat (exp (gen) x) (mul (rec x) x-0 x-1))))
-    ((send (exp (gen) x)))
-    ((send (exp (gen) x-1))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0))
-            (exp (gen) (mul x-0 x-1)))))
-      (send
-        (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b))
-          (exp (gen) (mul x-0 x-1)))))
-    ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1))))
-    ((recv (cat (gen) (mul x-0 x-1))) (send (cat (gen) (mul x-0 x-1)))))
-  (label 55)
-  (parent 38)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x-1))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-  (defstrand init 1 (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-1)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-2) (6 0))
-  (traces
-    ((send (exp (gen) x-1))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b))
-            (exp (gen) (mul x-0 x-1)))))
-      (send
-        (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x-0 x-1)))))
-    ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1))))
-    ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-      (send (cat (exp (gen) x) (mul (rec x) x-0 x-1))))
-    ((send (exp (gen) x)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x-1)
-          (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x-0 x-1)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b))
-          (exp (gen) (mul x-0 x-1)))))
-    ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1))))
-    ((recv (cat (exp (gen) x-1) x-0)) (send (cat (exp (gen) x-1) x-0))))
-  (label 56)
-  (parent 38)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 0) (6 0)) ((4 0) (2 0)) ((4 0) (6 0))
-    ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (displaced 7 3 init 1) (exp (gen) x-2) (6 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))))
-    ((send (exp (gen) x-1)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))))
-  (label 57)
-  (parent 38)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-  (defstrand init 1 (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x-1) x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1)
-  (operation nonce-test (displaced 7 4 init 1) (exp (gen) x-2) (6 0))
-  (traces
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x-1)
-          (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b))
-            (exp (gen) (mul x-0 x-1)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a))
-          (exp (gen) (mul x-0 x-1)))))
-    ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1))))
-    ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-      (send (cat (exp (gen) x) (mul (rec x) x-0 x-1))))
-    ((send (exp (gen) x)))
-    ((send (exp (gen) x-1))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0))
-            (exp (gen) (mul x-0 x-1)))))
-      (send
-        (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b))
-          (exp (gen) (mul x-0 x-1)))))
-    ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1))))
-    ((recv (cat (exp (gen) x-1) x-0)) (send (cat (exp (gen) x-1) x-0))))
-  (label 58)
-  (parent 38)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x x-0 x-1 x-2 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-  (defstrand init 1 (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x-2) (mul x-0 x-1 (rec x-2))))
-  (defstrand init 1 (x x-2))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)) ((7 0) (6 0)))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1 x-2)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-2) (6 0))
-  (traces
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x-1)
-          (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b))
-            (exp (gen) (mul x-0 x-1)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a))
-          (exp (gen) (mul x-0 x-1)))))
-    ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1))))
-    ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-      (send (cat (exp (gen) x) (mul (rec x) x-0 x-1))))
-    ((send (exp (gen) x)))
-    ((send (exp (gen) x-1))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0))
-            (exp (gen) (mul x-0 x-1)))))
-      (send
-        (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b))
-          (exp (gen) (mul x-0 x-1)))))
-    ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1))))
-    ((recv (cat (exp (gen) x-2) (mul x-0 x-1 (rec x-2))))
-      (send (cat (exp (gen) x-2) (mul x-0 x-1 (rec x-2)))))
-    ((send (exp (gen) x-2))))
-  (label 59)
-  (parent 38)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 x-1 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-  (defstrand init 1 (x x))
-  (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1))
-  (deflistener (exp (gen) (mul x-0 x-1)))
-  (deflistener (cat (exp (gen) y) (mul x-0 x-1 (rec y))))
-  (defstrand resp 2 (b b-1) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)) ((7 1) (6 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 x-1 y)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (6 0))
-  (traces
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x-1)
-          (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b))
-            (exp (gen) (mul x-0 x-1)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a))
-          (exp (gen) (mul x-0 x-1)))))
-    ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1))))
-    ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-1)))
-      (send (cat (exp (gen) x) (mul (rec x) x-0 x-1))))
-    ((send (exp (gen) x)))
-    ((send (exp (gen) x-1))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0))
-            (exp (gen) (mul x-0 x-1)))))
-      (send
-        (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b))
-          (exp (gen) (mul x-0 x-1)))))
-    ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1))))
-    ((recv (cat (exp (gen) y) (mul x-0 x-1 (rec y))))
-      (send (cat (exp (gen) y) (mul x-0 x-1 (rec y)))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-1)) (exp h y))))))
-  (label 60)
-  (parent 38)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
-    (gen) (6 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) x x-0)))
-      (send (cat (exp (gen) y) (mul (rec y) x x-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))))
-  (label 61)
-  (parent 39)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) x x-0)))
-      (send (cat (exp (gen) y) (mul (rec y) x x-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-1))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
-  (label 62)
-  (parent 39)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x x-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (displaced 7 4 init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) x x-0)))
-      (send (cat (exp (gen) y) (mul (rec y) x x-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
-  (label 63)
-  (parent 39)
-  (unrealized (1 0) (2 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x x-0 x-1 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-  (defstrand init 1 (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)) ((7 0) (6 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen y x x-0 x-1)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (6 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) x x-0)))
-      (send (cat (exp (gen) y) (mul (rec y) x x-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
-      (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))))
-    ((send (exp (gen) x-1))))
-  (label 64)
-  (parent 39)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (x x-0 y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x x-0 (rec y))))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((3 1) (6 0)) ((4 0) (2 0)) ((4 0) (6 0))
-    ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen x x-0 y)
-  (operation nonce-test (displaced 7 3 resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul x x-0 (rec y)))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x x-0 (rec y))))
-      (send (cat (exp (gen) y) (mul x x-0 (rec y))))))
-  (label 65)
-  (parent 39)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 b-2 name) (h h-0 base) (y x x-0 y-0 expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul (rec y) x x-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y-0) (mul x x-0 (rec y-0))))
-  (defstrand resp 2 (b b-2) (h h-0) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1))
-    ((5 1) (4 1)) ((6 1) (5 0)) ((7 1) (6 0)))
-  (absent (y-0 h-0) (y h))
-  (non-orig (privk a) (privk b))
-  (precur (6 0) (2 0))
-  (uniq-gen y x x-0 y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (6 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul (rec y) x x-0)))
-      (send (cat (exp (gen) y) (mul (rec y) x x-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y-0) (mul x x-0 (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul x x-0 (rec y-0)))))
-    ((recv h-0)
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) h-0 (privk b-2)) (exp h-0 y-0))))))
-  (label 66)
-  (parent 39)
-  (unrealized (1 0) (2 0) (5 0) (6 0))
-  (comment "empty cohort"))
-
-(comment "Nothing left to do")
-
-(defprotocol station-to-station diffie-hellman
-  (defrole init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
-    (uniq-gen x))
-  (defrole resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    (uniq-gen y)
-    (absent (y h))))
-
-(defskeleton station-to-station
-  (vars (a b name) (h base) (y expn))
-  (defstrand resp 3 (a a) (b b) (h h) (y y))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (traces
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))))
-  (label 67)
-  (unrealized (0 2))
-  (origs)
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (operation encryption-test (added-strand init 3)
-    (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-      (exp (gen) (mul y x))) (0 2))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x))))))
-  (label 68)
-  (parent 67)
-  (unrealized (1 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (h base) (y expn))
-  (defstrand resp 3 (a a) (b b) (h h) (y y))
-  (deflistener (exp h y))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation encryption-test (added-listener (exp h y))
-    (enc (enc h (exp (gen) y) (privk a)) (exp h y)) (0 2))
-  (traces
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    ((recv (exp h y)) (send (exp h y))))
-  (label 69)
-  (parent 67)
-  (unrealized (0 2) (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x y)
-  (operation encryption-test (displaced 2 0 resp 2)
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-      (exp (gen) (mul x y))) (1 1))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y))))))
-  (label 70)
-  (parent 68)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (y y) (h (exp (gen) x)))))
-  (origs))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (operation encryption-test (added-listener (exp (gen) (mul y x)))
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-      (exp (gen) (mul y x))) (1 1))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))))
-  (label 71)
-  (parent 68)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (y expn))
-  (defstrand resp 3 (a a) (b b) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y (gen)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation nonce-test (displaced 2 0 resp 2) (exp (gen) y-0) (1 0))
-  (traces
-    ((recv (gen))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (gen) (privk b)) (exp (gen) y))))
-      (recv (enc (enc (gen) (exp (gen) y) (privk a)) (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y))))
-  (label 72)
-  (parent 69)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b name) (h base) (y expn) (w expr))
-  (defstrand resp 3 (a a) (b b) (h h) (y y))
-  (deflistener (exp h y))
-  (deflistener (cat (exp h (mul y (rec w))) w))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul y (rec w))) w))
-    (exp h y) (1 0))
-  (traces
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    ((recv (exp h y)) (send (exp h y)))
-    ((recv (cat (exp h (mul y (rec w))) w))
-      (send (cat (exp h (mul y (rec w))) w))))
-  (label 73)
-  (parent 69)
-  (unrealized (0 2) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn) (w expr))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) (mul y x (rec w))) w))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (precur (3 0))
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y x (rec w))) w))
-    (exp (gen) (mul y x)) (2 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) (mul y x (rec w))) w))
-      (send (cat (exp (gen) (mul y x (rec w))) w))))
-  (label 74)
-  (parent 71)
-  (unrealized (3 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (w expr) (y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test
-    (contracted (y-0 y) (h (exp (gen) w)) (w (mul w y))) (gen) (2 0))
-  (traces
-    ((recv (exp (gen) w))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) w) (privk b))
-            (exp (gen) (mul w y)))))
-      (recv
-        (enc (enc (exp (gen) w) (exp (gen) y) (privk a))
-          (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 75)
-  (parent 73)
-  (unrealized (0 2) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (w expr) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (defstrand init 1 (x x))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation nonce-test (added-strand init 1) (exp (gen) x) (2 0))
-  (traces
-    ((recv (exp (gen) (mul w x)))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b))
-            (exp (gen) (mul w x y)))))
-      (recv
-        (enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a))
-          (exp (gen) (mul w x y)))))
-    ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((send (exp (gen) x))))
-  (label 76)
-  (parent 73)
-  (unrealized (0 2) (1 0) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b name) (w expr) (y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation nonce-test (displaced 3 0 resp 2) (exp (gen) y-0) (2 0))
-  (traces
-    ((recv (exp (gen) w))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) w) (privk b))
-            (exp (gen) (mul w y)))))
-      (recv
-        (enc (enc (exp (gen) w) (exp (gen) y) (privk a))
-          (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 77)
-  (parent 73)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (h base) (w expr) (y y-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (0 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0))
-  (traces
-    ((recv (exp (gen) (mul w y)))
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b))
-            (exp (gen) (mul w y y-0)))))
-      (recv
-        (enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a))
-          (exp (gen) (mul w y y-0)))))
-    ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))))
-  (label 78)
-  (parent 73)
-  (unrealized (0 2) (1 0) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (gen) (mul y x)))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y x)
-  (precur (3 0))
-  (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen)
-    (3 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (gen) (mul y x))) (send (cat (gen) (mul y x)))))
-  (label 79)
-  (parent 74)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x) y))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x)
-  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
-  (label 80)
-  (parent 74)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x x-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)) ((4 0) (3 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y x (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 81)
-  (parent 74)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen x y)
-  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 82)
-  (parent 74)
-  (unrealized (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x y-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y-0) (mul y x (rec y-0))))
-  (defstrand resp 2 (b b-1) (h h) (y y-0))
-  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (absent (y-0 h) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (3 0))
-  (uniq-gen y x y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y-0) (mul y x (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y x (rec y-0)))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) h (privk b-1)) (exp h y-0))))))
-  (label 83)
-  (parent 74)
-  (unrealized (2 0) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b name) (w expr) (y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 1) (3 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test (added-listener y) (mul w y) (2 0))
-  (traces
-    ((recv (exp (gen) w))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) w) (privk b))
-            (exp (gen) (mul w y)))))
-      (recv
-        (enc (enc (exp (gen) w) (exp (gen) y) (privk a))
-          (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 84)
-  (parent 75)
-  (unrealized (0 2) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b name) (w expr) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (defstrand init 1 (x x))
-  (deflistener y)
-  (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0))
-    ((4 1) (2 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation nonce-test (added-listener y) (mul w y) (2 0))
-  (traces
-    ((recv (exp (gen) (mul w x)))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b))
-            (exp (gen) (mul w x y)))))
-      (recv
-        (enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a))
-          (exp (gen) (mul w x y)))))
-    ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((send (exp (gen) x)))
-    ((recv y) (send y)))
-  (label 85)
-  (parent 76)
-  (unrealized (0 2) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x)
-  (operation encryption-test (added-strand init 3)
-    (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x))))))
-  (label 86)
-  (parent 77)
-  (unrealized (2 0) (3 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (h base) (w expr) (y y-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand resp 2 (b b-0) (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (0 0))
-    ((4 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y y-0)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (2 0))
-  (traces
-    ((recv (exp (gen) (mul w y)))
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b))
-            (exp (gen) (mul w y y-0)))))
-      (recv
-        (enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a))
-          (exp (gen) (mul w y y-0)))))
-    ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((recv y-0) (send y-0)))
-  (label 87)
-  (parent 78)
-  (unrealized (0 2) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x y)
-  (operation encryption-test (displaced 4 0 resp 2)
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-      (exp (gen) (mul x y))) (3 1))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y))))))
-  (label 88)
-  (parent 86)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (precedes ((0 1) (2 0)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y x)
-  (operation encryption-test (added-listener (exp (gen) (mul y x)))
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-      (exp (gen) (mul y x))) (3 1))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))))
-  (label 89)
-  (parent 86)
-  (unrealized (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn) (w expr))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) (mul y x (rec w))) w))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen y x)
-  (operation nonce-test
-    (added-listener (cat (exp (gen) (mul y x (rec w))) w))
-    (exp (gen) (mul y x)) (4 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) (mul y x (rec w))) w))
-      (send (cat (exp (gen) (mul y x (rec w))) w))))
-  (label 90)
-  (parent 89)
-  (unrealized (2 0) (5 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (gen) (mul y x)))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen y x)
-  (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen)
-    (5 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (gen) (mul y x))) (send (cat (gen) (mul y x)))))
-  (label 91)
-  (parent 90)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x) y))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen y x)
-  (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
-  (label 92)
-  (parent 90)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (y x x-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0))))
-  (defstrand init 1 (x x-0))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))
-    ((6 0) (5 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen y x x-0)
-  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) x-0) (mul y x (rec x-0))))
-      (send (cat (exp (gen) x-0) (mul y x (rec x-0)))))
-    ((send (exp (gen) x-0))))
-  (label 93)
-  (parent 90)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 name) (x y expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen x y)
-  (operation nonce-test (displaced 6 0 resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
-  (label 94)
-  (parent 90)
-  (unrealized (2 0) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-to-station
-  (vars (a b b-0 b-1 name) (h base) (y x y-0 expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y-0) (mul y x (rec y-0))))
-  (defstrand resp 2 (b b-1) (h h) (y y-0))
-  (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))
-    ((6 1) (5 0)))
-  (absent (y-0 h) (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (5 0) (2 0))
-  (uniq-gen y x y-0)
-  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y-0) (mul y x (rec y-0))))
-      (send (cat (exp (gen) y-0) (mul y x (rec y-0)))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) h (privk b-1)) (exp h y-0))))))
-  (label 95)
-  (parent 90)
-  (unrealized (2 0) (4 0) (5 0))
-  (comment "empty cohort"))
-
-(comment "Nothing left to do")
-
-(defprotocol station-weak diffie-hellman
-  (defrole weak-init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))))
-  (defrole weak-resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    (absent (y h))))
-
-(defskeleton station-weak
-  (vars (a b name) (h base) (x expn))
-  (defstrand weak-init 3 (a a) (b b) (h h) (x x))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (traces
-    ((send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))))
-  (label 96)
-  (unrealized (0 1))
-  (origs)
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (1 1)) ((1 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-      (exp (gen) (mul x x-0))) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))))
-  (label 97)
-  (parent 96)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (x x) (h (exp (gen) x-0)))))
-  (origs))
-
-(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-      (exp (gen) (mul x y))) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))))
-  (label 98)
-  (parent 96)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (x x) (h (exp (gen) y)))))
-  (origs))
-
-(defskeleton station-weak
-  (vars (a b name) (h base) (x expn))
-  (defstrand weak-init 3 (a a) (b b) (h h) (x x))
-  (deflistener (exp h x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation encryption-test (added-listener (exp h x))
-    (enc (enc h (exp (gen) x) (privk b)) (exp h x)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
-    ((recv (exp h x)) (send (exp h x))))
-  (label 99)
-  (parent 96)
-  (unrealized (0 1) (1 0))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (x expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (rec x))) (x x))
-  (deflistener (gen))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen)
-    (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (rec x))
-          (enc (enc (exp (gen) (rec x)) (exp (gen) x) (privk b))
-            (gen))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) (rec x)) (privk a)) (gen))))
-    ((recv (gen)) (send (gen))))
-  (label 100)
-  (parent 99)
-  (unrealized (0 1))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b name) (x expn))
-  (defstrand weak-init 3 (a a) (b b) (h (gen)) (x x))
-  (deflistener (exp (gen) x))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (displaced 2 0 weak-init 1) (exp (gen) x-0)
-    (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (gen)
-          (enc (enc (gen) (exp (gen) x) (privk b)) (exp (gen) x))))
-      (send (enc (enc (exp (gen) x) (gen) (privk a)) (exp (gen) x))))
-    ((recv (exp (gen) x)) (send (exp (gen) x))))
-  (label 101)
-  (parent 99)
-  (unrealized (0 1))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) x-0)))
-    (x x))
-  (deflistener (exp (gen) x-0))
-  (defstrand weak-init 1 (x x-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (added-strand weak-init 1) (exp (gen) x-0)
-    (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (mul (rec x) x-0))
-          (enc
-            (enc (exp (gen) (mul (rec x) x-0)) (exp (gen) x) (privk b))
-            (exp (gen) x-0))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) x-0)) (privk a))
-          (exp (gen) x-0))))
-    ((recv (exp (gen) x-0)) (send (exp (gen) x-0)))
-    ((send (exp (gen) x-0))))
-  (label 102)
-  (parent 99)
-  (unrealized (0 1))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) y)))
-    (x x))
-  (deflistener (exp (gen) y))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (operation nonce-test (added-strand weak-resp 2) (exp (gen) y) (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (mul (rec x) y))
-          (enc (enc (exp (gen) (mul (rec x) y)) (exp (gen) x) (privk b))
-            (exp (gen) y))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) y)) (privk a))
-          (exp (gen) y)))) ((recv (exp (gen) y)) (send (exp (gen) y)))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))))
-  (label 103)
-  (parent 99)
-  (unrealized (0 1))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b name) (h base) (x expn) (w expr))
-  (defstrand weak-init 3 (a a) (b b) (h h) (x x))
-  (deflistener (exp h x))
-  (deflistener (cat (exp h (mul x (rec w))) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w))
-    (exp h x) (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))
-    ((recv (exp h x)) (send (exp h x)))
-    ((recv (cat (exp h (mul x (rec w))) w))
-      (send (cat (exp h (mul x (rec w))) w))))
-  (label 104)
-  (parent 99)
-  (unrealized (0 1) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (x expn) (w expr))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w)))
-    (x x))
-  (deflistener (exp (gen) w))
-  (deflistener (cat (gen) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen x)
-  (precur (2 0))
-  (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w))))
-    (gen) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (mul (rec x) w))
-          (enc (enc (exp (gen) (mul (rec x) w)) (exp (gen) x) (privk b))
-            (exp (gen) w))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w)) (privk a))
-          (exp (gen) w)))) ((recv (exp (gen) w)) (send (exp (gen) w)))
-    ((recv (cat (gen) w)) (send (cat (gen) w))))
-  (label 105)
-  (parent 104)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (w expr) (x expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) w)) (x x))
-  (deflistener (exp (gen) (mul w x)))
-  (deflistener (cat (exp (gen) x) w))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (displaced 3 0 weak-init 1) (exp (gen) x-0)
-    (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) w)
-          (enc (enc (exp (gen) w) (exp (gen) x) (privk b))
-            (exp (gen) (mul w x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) w) (privk a))
-          (exp (gen) (mul w x)))))
-    ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x))))
-    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
-  (label 106)
-  (parent 104)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (x expn) (w expr) (x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w x-0)))
-    (x x))
-  (deflistener (exp (gen) (mul w x-0)))
-  (deflistener (cat (exp (gen) x-0) w))
-  (defstrand weak-init 1 (x x-0))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-strand weak-init 1) (exp (gen) x-0)
-    (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (mul (rec x) w x-0))
-          (enc
-            (enc (exp (gen) (mul (rec x) w x-0)) (exp (gen) x)
-              (privk b)) (exp (gen) (mul w x-0)))))
-      (send
-        (enc
-          (enc (exp (gen) x) (exp (gen) (mul (rec x) w x-0)) (privk a))
-          (exp (gen) (mul w x-0)))))
-    ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0))))
-    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
-    ((send (exp (gen) x-0))))
-  (label 107)
-  (parent 104)
-  (unrealized (0 1))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (x expn) (w expr) (y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w y)))
-    (x x))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-strand weak-resp 2) (exp (gen) y) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) (mul (rec x) w y))
-          (enc
-            (enc (exp (gen) (mul (rec x) w y)) (exp (gen) x) (privk b))
-            (exp (gen) (mul w y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w y)) (privk a))
-          (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))))
-  (label 108)
-  (parent 104)
-  (unrealized (0 1))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))))
-  (label 109)
-  (parent 105)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y))))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))))
-  (label 110)
-  (parent 105)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))))
-  (label 111)
-  (parent 106)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x) y))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y)))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))))
-  (label 112)
-  (parent 106)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) x-0) x))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((3 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (displaced 3 4 weak-init 3)
-    (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))))
-  (label 113)
-  (parent 107)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand weak-init 1 (x x-0))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1))
-  (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-1)
-          (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-1)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a))
-          (exp (gen) (mul x x-1)))))
-    ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1))))
-    ((send (exp (gen) x-0)))
-    ((send (exp (gen) x-1))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0))
-            (exp (gen) (mul x x-1)))))
-      (send
-        (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-1))))))
-  (label 114)
-  (parent 107)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (x x-0 y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-  (defstrand weak-init 1 (x x-0))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) y))))
-    ((send (exp (gen) x-0)))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))))
-  (label 115)
-  (parent 107)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b b-0 b-1 name) (h base) (x y x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (defstrand weak-init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 2) (0 1)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) x-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))))
-  (label 116)
-  (parent 108)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (displaced 4 3 weak-resp 2)
-    (enc (exp (gen) y-0) (exp (gen) x) (privk b-0)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))))
-  (label 117)
-  (parent 108)
-  (unrealized (2 0))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (x y y-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y-0)) (x x))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y-0))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (absent (y-0 (exp (gen) x)) (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (0 1))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y-0) (privk a))
-          (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) y-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y-0)))))))
-  (label 118)
-  (parent 108)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (gen) (mul x x-0)))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (deflistener x)
-  (precedes ((0 0) (3 1)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 2) (0 1)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x x-0) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))) ((recv x) (send x)))
-  (label 119)
-  (parent 109)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (gen) (mul x y)))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (deflistener x)
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x y) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y))))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))) ((recv x) (send x)))
-  (label 120)
-  (parent 110)
-  (unrealized (4 0))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (cat (exp (gen) x) x-0))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0))
-  (precedes ((0 0) (1 0)) ((0 0) (2 1)) ((1 1) (0 1)) ((2 2) (0 1)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))))
-  (label 121)
-  (parent 111)
-  (seen 97)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (x y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (cat (exp (gen) x) y))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen x)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y)))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))))
-  (label 122)
-  (parent 112)
-  (seen 98)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (x x-0 x-1 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-1)) (x x))
-  (deflistener (exp (gen) (mul x x-1)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-  (defstrand weak-init 1 (x x-0))
-  (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1))
-  (deflistener x)
-  (precedes ((0 0) (4 1)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 2) (0 1)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x (rec x-0) x-1) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-1)
-          (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-1)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a))
-          (exp (gen) (mul x x-1)))))
-    ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1))))
-    ((send (exp (gen) x-0)))
-    ((send (exp (gen) x-1))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0))
-            (exp (gen) (mul x x-1)))))
-      (send
-        (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-1))))) ((recv x) (send x)))
-  (label 123)
-  (parent 114)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b name) (x x-0 y expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (deflistener (exp (gen) (mul x y)))
-  (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-  (defstrand weak-init 1 (x x-0))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x (rec x-0) y) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul x y)))))
-    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
-    ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y)))
-      (send (cat (exp (gen) x-0) (mul x (rec x-0) y))))
-    ((send (exp (gen) x-0)))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y)))))) ((recv x) (send x)))
-  (label 124)
-  (parent 115)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b b-0 b-1 name) (h base) (x y x-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x))
-  (deflistener (exp (gen) (mul x x-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) x-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (defstrand weak-init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0))
-  (deflistener x)
-  (precedes ((0 0) (4 1)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 2) (0 1)) ((5 1) (2 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x (rec y) x-0) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) x-0)
-          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
-          (exp (gen) (mul x x-0)))))
-    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) x-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) x-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((send (exp (gen) x-0))
-      (recv
-        (cat (exp (gen) x)
-          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1))
-            (exp (gen) (mul x x-0)))))
-      (send
-        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
-          (exp (gen) (mul x x-0))))) ((recv x) (send x)))
-  (label 125)
-  (parent 116)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (x y y-0 expn))
-  (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y-0)) (x x))
-  (deflistener (exp (gen) (mul x y-0)))
-  (deflistener (cat (exp (gen) y) (mul x (rec y) y-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y-0))
-  (deflistener x)
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (2 0)))
-  (absent (y-0 (exp (gen) x)) (y h))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen x)
-  (operation nonce-test (added-listener x) (mul x (rec y) y-0) (2 0))
-  (traces
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y-0)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y-0) (privk a))
-          (exp (gen) (mul x y-0)))))
-    ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0))))
-    ((recv (cat (exp (gen) y) (mul x (rec y) y-0)))
-      (send (cat (exp (gen) y) (mul x (rec y) y-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b))
-            (exp (gen) (mul x y-0)))))) ((recv x) (send x)))
-  (label 126)
-  (parent 118)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(comment "Nothing left to do")
-
-(defprotocol station-weak diffie-hellman
-  (defrole weak-init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x))
-      (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x))))
-      (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))))
-  (defrole weak-resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    (absent (y h))))
-
-(defskeleton station-weak
-  (vars (a b name) (h base) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h h) (y y))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (traces
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))))
-  (label 127)
-  (unrealized (0 2))
-  (origs)
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (y x expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand weak-init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 1)) ((1 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-      (exp (gen) (mul y x))) (0 2))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x))))))
-  (label 128)
-  (parent 127)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (y y) (h (exp (gen) x)))))
-  (origs))
-
-(defskeleton station-weak
-  (vars (a b name) (y y-0 expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) y-0)) (y y))
-  (defstrand weak-resp 2 (b a) (h (exp (gen) y)) (y y-0))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y-0 (exp (gen) y)) (y (exp (gen) y-0)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a))
-      (exp (gen) (mul y y-0))) (0 2))
-  (traces
-    ((recv (exp (gen) y-0))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) y-0) (privk b))
-            (exp (gen) (mul y y-0)))))
-      (recv
-        (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a))
-          (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) y))
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a))
-            (exp (gen) (mul y y-0)))))))
-  (label 129)
-  (parent 127)
-  (unrealized)
-  (shape)
-  (maps ((0) ((a a) (b b) (y y) (h (exp (gen) y-0)))))
-  (origs))
-
-(defskeleton station-weak
-  (vars (a b name) (h base) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h h) (y y))
-  (deflistener (exp h y))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation encryption-test (added-listener (exp h y))
-    (enc (enc h (exp (gen) y) (privk a)) (exp h y)) (0 2))
-  (traces
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    ((recv (exp h y)) (send (exp h y))))
-  (label 130)
-  (parent 127)
-  (unrealized (0 2) (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (gen)) (y y))
-  (deflistener (exp (gen) y))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (absent (y (gen)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (operation nonce-test (displaced 2 0 weak-resp 2) (exp (gen) y-0)
-    (1 0))
-  (traces
-    ((recv (gen))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (gen) (privk b)) (exp (gen) y))))
-      (recv (enc (enc (gen) (exp (gen) y) (privk a)) (exp (gen) y))))
-    ((recv (exp (gen) y)) (send (exp (gen) y))))
-  (label 131)
-  (parent 130)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b name) (h base) (y expn) (w expr))
-  (defstrand weak-resp 3 (a a) (b b) (h h) (y y))
-  (deflistener (exp h y))
-  (deflistener (cat (exp h (mul y (rec w))) w))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y h))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test (added-listener (cat (exp h (mul y (rec w))) w))
-    (exp h y) (1 0))
-  (traces
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b)) (exp h y))))
-      (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))
-    ((recv (exp h y)) (send (exp h y)))
-    ((recv (cat (exp h (mul y (rec w))) w))
-      (send (cat (exp h (mul y (rec w))) w))))
-  (label 132)
-  (parent 130)
-  (unrealized (0 2) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (w expr) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test
-    (contracted (y-0 y) (h (exp (gen) w)) (w (mul w y))) (gen) (2 0))
-  (traces
-    ((recv (exp (gen) w))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) w) (privk b))
-            (exp (gen) (mul w y)))))
-      (recv
-        (enc (enc (exp (gen) w) (exp (gen) y) (privk a))
-          (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
-  (label 133)
-  (parent 132)
-  (unrealized (0 2) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (w expr) (x y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (defstrand weak-init 1 (x x))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (2 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation nonce-test (added-strand weak-init 1) (exp (gen) x) (2 0))
-  (traces
-    ((recv (exp (gen) (mul w x)))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b))
-            (exp (gen) (mul w x y)))))
-      (recv
-        (enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a))
-          (exp (gen) (mul w x y)))))
-    ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((send (exp (gen) x))))
-  (label 134)
-  (parent 132)
-  (unrealized (0 2) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (w expr) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (exp (gen) y) w))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation nonce-test (displaced 3 0 weak-resp 2) (exp (gen) y-0)
-    (2 0))
-  (traces
-    ((recv (exp (gen) w))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) w) (privk b))
-            (exp (gen) (mul w y)))))
-      (recv
-        (enc (enc (exp (gen) w) (exp (gen) y) (privk a))
-          (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
-  (label 135)
-  (parent 132)
-  (unrealized (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (w expr) (y y-0 expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y-0)
-  (operation nonce-test (added-strand weak-resp 2) (exp (gen) y) (2 0))
-  (traces
-    ((recv (exp (gen) (mul w y)))
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b))
-            (exp (gen) (mul w y y-0)))))
-      (recv
-        (enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a))
-          (exp (gen) (mul w y y-0)))))
-    ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))))
-  (label 136)
-  (parent 132)
-  (unrealized (0 2) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (w expr) (y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) w)) (y y))
-  (deflistener (exp (gen) (mul w y)))
-  (deflistener (cat (gen) (mul w y)))
-  (deflistener y)
-  (precedes ((0 1) (3 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (absent (y (exp (gen) w)))
-  (non-orig (privk a) (privk b))
-  (uniq-gen y)
-  (precur (2 0))
-  (operation nonce-test (added-listener y) (mul w y) (2 0))
-  (traces
-    ((recv (exp (gen) w))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) w) (privk b))
-            (exp (gen) (mul w y)))))
-      (recv
-        (enc (enc (exp (gen) w) (exp (gen) y) (privk a))
-          (exp (gen) (mul w y)))))
-    ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y))))
-    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
-    ((recv y) (send y)))
-  (label 137)
-  (parent 133)
-  (unrealized (0 2) (3 0))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b name) (w expr) (x y expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y))
-  (deflistener (exp (gen) (mul w x y)))
-  (deflistener (cat (exp (gen) x) (mul w y)))
-  (defstrand weak-init 1 (x x))
-  (deflistener y)
-  (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (2 0))
-    ((4 1) (2 0)))
-  (absent (y (exp (gen) (mul w x))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation nonce-test (added-listener y) (mul w y) (2 0))
-  (traces
-    ((recv (exp (gen) (mul w x)))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b))
-            (exp (gen) (mul w x y)))))
-      (recv
-        (enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a))
-          (exp (gen) (mul w x y)))))
-    ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y))))
-    ((recv (cat (exp (gen) x) (mul w y)))
-      (send (cat (exp (gen) x) (mul w y)))) ((send (exp (gen) x)))
-    ((recv y) (send y)))
-  (label 138)
-  (parent 134)
-  (unrealized (0 2) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (y x expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (exp (gen) (mul y x)))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand weak-init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation encryption-test (added-strand weak-init 3)
-    (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x))))))
-  (label 139)
-  (parent 135)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (y y-0 expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) y-0)) (y y))
-  (deflistener (exp (gen) (mul y y-0)))
-  (deflistener (cat (exp (gen) y) y-0))
-  (defstrand weak-resp 2 (b a) (h (exp (gen) y)) (y y-0))
-  (precedes ((0 1) (2 0)) ((0 1) (3 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 1) (0 2)))
-  (absent (y-0 (exp (gen) y)) (y (exp (gen) y-0)))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y)
-  (operation encryption-test (added-strand weak-resp 2)
-    (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (0 2))
-  (traces
-    ((recv (exp (gen) y-0))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) y-0) (privk b))
-            (exp (gen) (mul y y-0)))))
-      (recv
-        (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a))
-          (exp (gen) (mul y y-0)))))
-    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
-    ((recv (cat (exp (gen) y) y-0)) (send (cat (exp (gen) y) y-0)))
-    ((recv (exp (gen) y))
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a))
-            (exp (gen) (mul y y-0)))))))
-  (label 140)
-  (parent 135)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (h base) (w expr) (y y-0 expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0))
-  (deflistener (exp (gen) (mul w y y-0)))
-  (deflistener (cat (exp (gen) y) (mul w y-0)))
-  (defstrand weak-resp 2 (b b-0) (h h) (y y))
-  (deflistener y-0)
-  (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 1) (2 0)))
-  (absent (y h) (y-0 (exp (gen) (mul w y))))
-  (non-orig (privk a) (privk b))
-  (precur (2 0))
-  (uniq-gen y-0)
-  (operation nonce-test (added-listener y-0) (mul w y-0) (2 0))
-  (traces
-    ((recv (exp (gen) (mul w y)))
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b))
-            (exp (gen) (mul w y y-0)))))
-      (recv
-        (enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a))
-          (exp (gen) (mul w y y-0)))))
-    ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0))))
-    ((recv (cat (exp (gen) y) (mul w y-0)))
-      (send (cat (exp (gen) y) (mul w y-0))))
-    ((recv h)
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))
-    ((recv y-0) (send y-0)))
-  (label 141)
-  (parent 136)
-  (unrealized (0 2) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton station-weak
-  (vars (a b b-0 name) (y x expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (deflistener (cat (exp (gen) y) x))
-  (defstrand weak-init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
-  (precedes ((0 1) (1 0)) ((0 1) (2 1)) ((1 1) (0 2)) ((2 2) (0 2)))
-  (absent (y (exp (gen) x)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y)
-  (operation generalization deleted (1 0))
-  (traces
-    ((recv (exp (gen) x))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
-            (exp (gen) (mul y x)))))
-      (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x)))))
-    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))
-    ((send (exp (gen) x))
-      (recv
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
-            (exp (gen) (mul y x)))))
-      (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
-          (exp (gen) (mul y x))))))
-  (label 142)
-  (parent 139)
-  (seen 128)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton station-weak
-  (vars (a b name) (y y-0 expn))
-  (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) y-0)) (y y))
-  (deflistener (cat (exp (gen) y) y-0))
-  (defstrand weak-resp 2 (b a) (h (exp (gen) y)) (y y-0))
-  (precedes ((0 1) (1 0)) ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (0 2)))
-  (absent (y-0 (exp (gen) y)) (y (exp (gen) y-0)))
-  (non-orig (privk a) (privk b))
-  (precur (1 0))
-  (uniq-gen y)
-  (operation generalization deleted (1 0))
-  (traces
-    ((recv (exp (gen) y-0))
-      (send
-        (cat (exp (gen) y)
-          (enc (enc (exp (gen) y) (exp (gen) y-0) (privk b))
-            (exp (gen) (mul y y-0)))))
-      (recv
-        (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a))
-          (exp (gen) (mul y y-0)))))
-    ((recv (cat (exp (gen) y) y-0)) (send (cat (exp (gen) y) y-0)))
-    ((recv (exp (gen) y))
-      (send
-        (cat (exp (gen) y-0)
-          (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a))
-            (exp (gen) (mul y y-0)))))))
-  (label 143)
-  (parent 140)
-  (seen 129)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
+(comment "CPSA 3.5.0")
+(comment "All input read from station.scm")
+
+(defprotocol station-to-station diffie-hellman
+  (defrole init
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    (uniq-gen x))
+  (defrole resp
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    (uniq-gen y)
+    (absent (y (exp (gen) x)))))
+
+(defskeleton station-to-station
+  (vars (a b name) (x rndx) (y expt))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (label 0)
+  (unrealized (0 1))
+  (origs)
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (precedes ((0 0) (1 1)) ((1 2) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation encryption-test (added-strand init 3)
+    (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (0 1))
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0))))))
+  (label 1)
+  (parent 0)
+  (unrealized (1 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton station-to-station
+  (vars (a b name) (y x rndx))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
+  (defstrand resp 2 (b b) (y y) (x x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (operation encryption-test (added-strand resp 2)
+    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))))
+  (label 2)
+  (parent 0)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (origs))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (precedes ((0 0) (2 0)) ((1 0) (2 0)) ((1 2) (0 1)) ((2 1) (1 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
+    (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+      (exp (gen) (mul x x-0))) (1 1))
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))))
+  (label 3)
+  (parent 1)
+  (unrealized (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx) (w expt))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w))
+    (exp (gen) (mul x x-0)) (2 0))
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((recv (cat (exp (gen) (mul x x-0 (rec w))) w))
+      (send (cat (exp (gen) (mul x x-0 (rec w))) w))))
+  (label 4)
+  (parent 3)
+  (unrealized (3 0))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (gen) (mul x x-0)))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (precur (3 0))
+  (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0)))
+    (gen) (3 0))
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))))
+  (label 5)
+  (parent 4)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) x-0) x))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x x-0)
+  (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (3 0))
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
+  (label 6)
+  (parent 4)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x) (y x-0))
+  (defstrand init 3 (a b) (b b-0) (x x-0) (y x))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) x-0) x))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x x-0)
+  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-1) (3 0))
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
+  (label 7)
+  (parent 4)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x x-0 x-1 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand init 3 (a b) (b b-0) (x x) (y x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
+  (defstrand init 1 (x x-1))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)) ((4 0) (3 0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x x-0 x-1)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0))
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))
+      (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))))
+    ((send (exp (gen) x-1))))
+  (label 8)
+  (parent 4)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 b-1 name) (x expt) (x-0 x-1 y rndx))
+  (defstrand init 3 (a a) (b b) (x x-1) (y x-0))
+  (defstrand init 3 (a b) (b b-0) (x x-0) (y x-1))
+  (deflistener (exp (gen) (mul x-0 x-1)))
+  (deflistener (cat (exp (gen) y) (mul x-0 x-1 (rec y))))
+  (defstrand resp 2 (b b-1) (y y) (x x))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x-0 x-1 y)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0))
+  (traces
+    ((send (exp (gen) x-1))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b))
+            (exp (gen) (mul x-0 x-1)))))
+      (send
+        (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk a))
+          (exp (gen) (mul x-0 x-1)))))
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x-1)
+          (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b-0))
+            (exp (gen) (mul x-0 x-1)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b))
+          (exp (gen) (mul x-0 x-1)))))
+    ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1))))
+    ((recv (cat (exp (gen) y) (mul x-0 x-1 (rec y))))
+      (send (cat (exp (gen) y) (mul x-0 x-1 (rec y)))))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-1))
+            (exp (gen) (mul x y)))))))
+  (label 9)
+  (parent 4)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol station-to-station diffie-hellman
+  (defrole init
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    (uniq-gen x))
+  (defrole resp
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    (uniq-gen y)
+    (absent (y (exp (gen) x)))))
+
+(defskeleton station-to-station
+  (vars (a b name) (y rndx) (x expt))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x))))))
+  (label 10)
+  (unrealized (0 2))
+  (origs)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation encryption-test (added-strand init 3)
+    (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2))
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (label 11)
+  (parent 10)
+  (unrealized (1 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-to-station
+  (vars (a b name) (y x rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
+  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (operation encryption-test (displaced 2 0 resp 2)
+    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+      (exp (gen) (mul y x))) (1 1))
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x))))))
+  (label 12)
+  (parent 11)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (y y) (x x))))
+  (origs))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation encryption-test (added-listener (exp (gen) (mul x y)))
+    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+      (exp (gen) (mul x y))) (1 1))
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
+  (label 13)
+  (parent 11)
+  (unrealized (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x y rndx) (w expt))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) (mul x y (rec w))) w))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (precur (3 0))
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul x y (rec w))) w))
+    (exp (gen) (mul x y)) (2 0))
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) (mul x y (rec w))) w))
+      (send (cat (exp (gen) (mul x y (rec w))) w))))
+  (label 14)
+  (parent 13)
+  (unrealized (3 0))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (gen) (mul x y)))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (precur (3 0))
+  (operation nonce-test (contracted (x-0 x) (y-0 y) (w (mul x y))) (gen)
+    (3 0))
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))))
+  (label 15)
+  (parent 14)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (y x rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul y x)))
+  (deflistener (cat (exp (gen) x) y))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen y x)
+  (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-0) (3 0))
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul y x)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
+  (label 16)
+  (parent 14)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x y x-0 rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) x-0) (mul x y (rec x-0))))
+  (defstrand init 1 (x x-0))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)) ((4 0) (3 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y x-0)
+  (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0))
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) x-0) (mul x y (rec x-0))))
+      (send (cat (exp (gen) x-0) (mul x y (rec x-0)))))
+    ((send (exp (gen) x-0))))
+  (label 17)
+  (parent 14)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x y)
+  (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 18)
+  (parent 14)
+  (unrealized (3 0))
+  (comment "empty cohort"))
+
+(defskeleton station-to-station
+  (vars (a b b-0 b-1 name) (x expt) (x-0 y y-0 rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x-0))
+  (defstrand init 3 (a a) (b b-0) (x x-0) (y y))
+  (deflistener (exp (gen) (mul x-0 y)))
+  (deflistener (cat (exp (gen) y-0) (mul x-0 y (rec y-0))))
+  (defstrand resp 2 (b b-1) (y y-0) (x x))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (absent (y-0 (exp (gen) x)) (y (exp (gen) x-0)))
+  (non-orig (privk a) (privk b))
+  (precur (3 0))
+  (uniq-gen x-0 y y-0)
+  (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0))
+  (traces
+    ((recv (exp (gen) x-0))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x-0 y)))))
+      (recv
+        (enc (enc (exp (gen) x-0) (exp (gen) y) (privk a))
+          (exp (gen) (mul x-0 y)))))
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x-0) (privk b-0))
+            (exp (gen) (mul x-0 y)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) y) (privk a))
+          (exp (gen) (mul x-0 y)))))
+    ((recv (exp (gen) (mul x-0 y))) (send (exp (gen) (mul x-0 y))))
+    ((recv (cat (exp (gen) y-0) (mul x-0 y (rec y-0))))
+      (send (cat (exp (gen) y-0) (mul x-0 y (rec y-0)))))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y-0)
+          (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b-1))
+            (exp (gen) (mul x y-0)))))))
+  (label 19)
+  (parent 14)
+  (unrealized (2 0) (3 0))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol station-weak diffie-hellman
+  (defrole weak-init
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (defrole weak-resp
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    (absent (y (exp (gen) x)))))
+
+(defskeleton station-weak
+  (vars (a b name) (x rndx) (y expt))
+  (defstrand weak-init 3 (a a) (b b) (x x) (y y))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (label 20)
+  (unrealized (0 1))
+  (origs)
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand weak-init 3 (a a) (b b) (x x-0) (y x))
+  (defstrand weak-init 3 (a b) (b b-0) (x x) (y x-0))
+  (precedes ((0 0) (1 1)) ((1 2) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x-0)
+  (operation encryption-test (added-strand weak-init 3)
+    (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (0 1))
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0))))))
+  (label 21)
+  (parent 20)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (x x-0) (y x))))
+  (origs))
+
+(defskeleton station-weak
+  (vars (a b name) (y x rndx))
+  (defstrand weak-init 3 (a a) (b b) (x x) (y y))
+  (defstrand weak-resp 2 (b b) (y y) (x x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (operation encryption-test (added-strand weak-resp 2)
+    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))))
+  (label 22)
+  (parent 20)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (origs))
+
+(comment "Nothing left to do")
+
+(defprotocol station-weak diffie-hellman
+  (defrole weak-init
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (defrole weak-resp
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    (absent (y (exp (gen) x)))))
+
+(defskeleton station-weak
+  (vars (a b name) (y rndx) (x expt))
+  (defstrand weak-resp 3 (a a) (b b) (y y) (x x))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x))))))
+  (label 23)
+  (unrealized (0 2))
+  (origs)
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand weak-resp 3 (a a) (b b) (y y) (x x))
+  (defstrand weak-init 3 (a a) (b b-0) (x x) (y y))
+  (precedes ((0 1) (1 1)) ((1 2) (0 2)))
+  (absent (y (exp (gen) x)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (operation encryption-test (added-strand weak-init 3)
+    (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2))
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (label 24)
+  (parent 23)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (y y) (x x))))
+  (origs))
+
+(defskeleton station-weak
+  (vars (a b name) (y y-0 rndx))
+  (defstrand weak-resp 3 (a a) (b b) (y y-0) (x y))
+  (defstrand weak-resp 2 (b a) (y y) (x y-0))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
+  (absent (y (exp (gen) y-0)) (y-0 (exp (gen) y)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y-0)
+  (operation encryption-test (added-strand weak-resp 2)
+    (enc (exp (gen) y) (exp (gen) y-0) (privk a)) (0 2))
+  (traces
+    ((recv (exp (gen) y))
+      (send
+        (cat (exp (gen) y-0)
+          (enc (enc (exp (gen) y-0) (exp (gen) y) (privk b))
+            (exp (gen) (mul y y-0)))))
+      (recv
+        (enc (enc (exp (gen) y) (exp (gen) y-0) (privk a))
+          (exp (gen) (mul y y-0)))))
+    ((recv (exp (gen) y-0))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) y-0) (privk a))
+            (exp (gen) (mul y y-0)))))))
+  (label 25)
+  (parent 23)
+  (unrealized)
+  (shape)
+  (maps ((0) ((a a) (b b) (y y-0) (x y))))
+  (origs))
 
 (comment "Nothing left to do")
diff --git a/tst/station2.scm b/tst/station2.scm
--- a/tst/station2.scm
+++ b/tst/station2.scm
@@ -4,18 +4,18 @@
 
 (defprotocol station-to-station diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (a b name))
+    (vars (x rndx) (y expt) (a b name))
     (trace
      (send (exp (gen) x))
-     (recv (enc h (exp (gen) x) (privk b)))
-     (send (enc (enc (exp (gen) x) h (exp h x)) (privk a))))
+     (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+     (send (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul y x))) (privk a))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (a b name))
+    (vars (y rndx) (x expt) (a b name))
     (trace
-     (recv h)
-     (send (enc (exp (gen) y) h (privk b)))
-     (recv (enc (enc h (exp (gen) y) (exp h y)) (privk a))))
+     (recv (exp (gen) x))
+     (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+     (recv (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul x y))) (privk a))))
     (uniq-gen y))
 )
 
diff --git a/tst/station2.tst b/tst/station2.tst
--- a/tst/station2.tst
+++ b/tst/station2.tst
@@ -1,49 +1,58 @@
 (herald "Station-to-station protocol" (algebra diffie-hellman))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from station2.scm")
 
 (defprotocol station-to-station diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x)) (recv (enc h (exp (gen) x) (privk b)))
-      (send (enc (enc (exp (gen) x) h (exp h x)) (privk a))))
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul x y)))
+          (privk a))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h) (send (enc (exp (gen) y) h (privk b)))
-      (recv (enc (enc h (exp (gen) y) (exp h y)) (privk a))))
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul y x)))
+          (privk a))))
     (uniq-gen y)
-    (absent (y h))))
+    (absent (y (exp (gen) x)))))
 
 (defskeleton station-to-station
-  (vars (a b name) (h base) (x expn))
-  (defstrand init 3 (a a) (b b) (h h) (x x))
+  (vars (a b name) (x rndx) (y expt))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
   (non-orig (privk a) (privk b))
   (uniq-gen x)
   (traces
-    ((send (exp (gen) x)) (recv (enc h (exp (gen) x) (privk b)))
-      (send (enc (enc (exp (gen) x) h (exp h x)) (privk a)))))
+    ((send (exp (gen) x))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul x y)))
+          (privk a)))))
   (label 0)
   (unrealized (0 1))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton station-to-station
-  (vars (a b name) (x y expn))
-  (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x))
-  (defstrand resp 2 (b b) (h (exp (gen) x)) (y y))
+  (vars (a b name) (y x rndx))
+  (defstrand init 3 (a a) (b b) (x x) (y y))
+  (defstrand resp 2 (b b) (y y) (x x))
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (absent (y (exp (gen) x)))
   (non-orig (privk a) (privk b))
-  (uniq-gen x y)
+  (uniq-gen y x)
   (operation encryption-test (added-strand resp 2)
     (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
   (traces
     ((send (exp (gen) x))
       (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
       (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul x y)))
+        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul y x)))
           (privk a))))
     ((recv (exp (gen) x))
       (send (enc (exp (gen) y) (exp (gen) x) (privk b)))))
@@ -51,65 +60,74 @@
   (parent 0)
   (unrealized)
   (shape)
-  (maps ((0) ((a a) (b b) (x x) (h (exp (gen) y)))))
+  (maps ((0) ((a a) (b b) (x x) (y y))))
   (origs))
 
 (comment "Nothing left to do")
 
 (defprotocol station-to-station diffie-hellman
   (defrole init
-    (vars (x expn) (h base) (a b name))
-    (trace (send (exp (gen) x)) (recv (enc h (exp (gen) x) (privk b)))
-      (send (enc (enc (exp (gen) x) h (exp h x)) (privk a))))
+    (vars (x rndx) (y expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul x y)))
+          (privk a))))
     (uniq-gen x))
   (defrole resp
-    (vars (y expn) (h base) (a b name))
-    (trace (recv h) (send (enc (exp (gen) y) h (privk b)))
-      (recv (enc (enc h (exp (gen) y) (exp h y)) (privk a))))
+    (vars (y rndx) (x expt) (a b name))
+    (trace (recv (exp (gen) x))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul y x)))
+          (privk a))))
     (uniq-gen y)
-    (absent (y h))))
+    (absent (y (exp (gen) x)))))
 
 (defskeleton station-to-station
-  (vars (a b name) (h base) (y expn))
-  (defstrand resp 3 (a a) (b b) (h h) (y y))
-  (absent (y h))
+  (vars (a b name) (y rndx) (x expt))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (absent (y (exp (gen) x)))
   (non-orig (privk a) (privk b))
   (uniq-gen y)
   (traces
-    ((recv h) (send (enc (exp (gen) y) h (privk b)))
-      (recv (enc (enc h (exp (gen) y) (exp h y)) (privk a)))))
+    ((recv (exp (gen) x))
+      (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul y x)))
+          (privk a)))))
   (label 2)
   (unrealized (0 2))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton station-to-station
-  (vars (a b b-0 name) (y x expn))
-  (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y))
-  (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x))
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (x x))
+  (defstrand init 3 (a a) (b b-0) (x x) (y y))
   (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
   (absent (y (exp (gen) x)))
   (non-orig (privk a) (privk b))
-  (uniq-gen y x)
+  (uniq-gen x y)
   (operation encryption-test (added-strand init 3)
-    (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul y x)))
+    (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul x y)))
       (privk a)) (0 2))
   (traces
     ((recv (exp (gen) x))
       (send (enc (exp (gen) y) (exp (gen) x) (privk b)))
       (recv
-        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul y x)))
+        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul x y)))
           (privk a))))
     ((send (exp (gen) x))
       (recv (enc (exp (gen) y) (exp (gen) x) (privk b-0)))
       (send
-        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul y x)))
+        (enc (enc (exp (gen) x) (exp (gen) y) (exp (gen) (mul x y)))
           (privk a)))))
   (label 3)
   (parent 2)
   (unrealized)
   (shape)
-  (maps ((0) ((a a) (b b) (y y) (h (exp (gen) x)))))
+  (maps ((0) ((a a) (b b) (y y) (x x))))
   (origs))
 
 (comment "Nothing left to do")
diff --git a/tst/subsort_test.tst b/tst/subsort_test.tst
--- a/tst/subsort_test.tst
+++ b/tst/subsort_test.tst
@@ -2,7 +2,7 @@
   (comment "First, third, and fourth skeletons should have a shape,"
     "second should be dead."))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from subsort_test.scm")
 
 (defprotocol subsorttest basic
diff --git a/tst/test_small.scm b/tst/test_small.scm
--- a/tst/test_small.scm
+++ b/tst/test_small.scm
@@ -4,7 +4,7 @@
 
 (defprotocol test diffie-hellman
   (defrole init
-    (vars (hr base) (a b name) (xi expn))
+    (vars (hr base) (a b name) (xi rndx))
     (trace
      (recv (enc hr (privk b)))
      (send (enc (hash (exp hr xi)) (exp (gen) xi) (privk a))))
@@ -12,7 +12,7 @@
 ;    (non-orig (privk b))
 )
   (defrole resp
-    (vars (xr expn) (a b name) (hi base))
+    (vars (xr rndx) (a b name) (hi base))
     (trace
      (send (enc (exp (gen) xr) (privk b)))
      (recv (enc (hash (exp hi xr)) hi (privk a))))
diff --git a/tst/test_small.tst b/tst/test_small.tst
--- a/tst/test_small.tst
+++ b/tst/test_small.tst
@@ -1,23 +1,23 @@
 (herald "small test" (algebra diffie-hellman))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from test_small.scm")
 
 (defprotocol test diffie-hellman
   (defrole init
-    (vars (hr base) (a b name) (xi expn))
+    (vars (hr base) (a b name) (xi rndx))
     (trace (recv (enc hr (privk b)))
       (send (enc (hash (exp hr xi)) (exp (gen) xi) (privk a))))
     (uniq-gen xi)
     (absent (xi hr)))
   (defrole resp
-    (vars (xr expn) (a b name) (hi base))
+    (vars (xr rndx) (a b name) (hi base))
     (trace (send (enc (exp (gen) xr) (privk b)))
       (recv (enc (hash (exp hi xr)) hi (privk a))))
     (uniq-gen xr)))
 
 (defskeleton test
-  (vars (a b name) (hi base) (xr expn))
+  (vars (a b name) (hi base) (xr rndx))
   (defstrand resp 2 (a a) (b b) (hi hi) (xr xr))
   (non-orig (privk a) (privk b))
   (uniq-gen xr)
@@ -30,7 +30,7 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton test
-  (vars (a b b-0 name) (xr xi expn))
+  (vars (a b b-0 name) (xr xi rndx))
   (defstrand resp 2 (a a) (b b) (hi (exp (gen) xi)) (xr xr))
   (defstrand init 2 (a a) (b b-0) (hr (exp (gen) xr)) (xi xi))
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
diff --git a/tst/unilateral.tst b/tst/unilateral.tst
--- a/tst/unilateral.tst
+++ b/tst/unilateral.tst
@@ -1,6 +1,6 @@
 (herald unilateral)
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from unilateral.scm")
 
 (defprotocol unilateral basic
diff --git a/tst/uniq-gen-test.tst b/tst/uniq-gen-test.tst
--- a/tst/uniq-gen-test.tst
+++ b/tst/uniq-gen-test.tst
@@ -1,7 +1,7 @@
 (herald "Unique generation test protocols."
   (comment "Skeletons 2, 4, and 7 should have no shapes."))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from uniq-gen-test.scm")
 
 (defprotocol uniqgentest basic
diff --git a/tst/woolam.tst b/tst/woolam.tst
--- a/tst/woolam.tst
+++ b/tst/woolam.tst
@@ -1,6 +1,6 @@
 (herald "Woo-Lam Protocol")
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from woolam.scm")
 
 (defprotocol woolam basic
diff --git a/tst/wrap_decrypt.tst b/tst/wrap_decrypt.tst
--- a/tst/wrap_decrypt.tst
+++ b/tst/wrap_decrypt.tst
@@ -1,6 +1,6 @@
 (herald wrap-decrypt (bound 10))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from wrap_decrypt.lsp")
 (comment "Strand count bounded at 10")
 
diff --git a/tst/yahalom.tst b/tst/yahalom.tst
--- a/tst/yahalom.tst
+++ b/tst/yahalom.tst
@@ -1,7 +1,7 @@
 (herald "Yahalom Protocol with Forwarding Removed"
   (algebra diffie-hellman) (bound 12))
 
-(comment "CPSA 3.4.0")
+(comment "CPSA 3.5.0")
 (comment "All input read from yahalom.scm")
 
 (defprotocol yahalom diffie-hellman
